{"version":3,"file":"raise-common-lib-new.mjs","sources":["../../../projects/raise-common-lib/src/lib/common-grid/index.component.ts","../../../projects/raise-common-lib/src/lib/common-grid/index.component.html","../../../projects/raise-common-lib/src/lib/common-grid/grid-action/grid-action.component.ts","../../../projects/raise-common-lib/src/lib/common-grid/grid-action/grid-action.component.html","../../../projects/raise-common-lib/src/lib/float-box/index.component.ts","../../../projects/raise-common-lib/src/lib/float-box/index.component.html","../../../projects/raise-common-lib/src/lib/common-grid/grid-action/grid-action-item/grid-action-item.component.ts","../../../projects/raise-common-lib/src/lib/common-grid/grid-action/grid-action-item/grid-action-item.component.html","../../../projects/raise-common-lib/src/lib/utils/decorator.ts","../../../projects/raise-common-lib/src/lib/service/common-function.service.ts","../../../projects/raise-common-lib/src/lib/dialog/new-action-notification/new-action-notification.component.ts","../../../projects/raise-common-lib/src/lib/dialog/new-action-notification/new-action-notification.component.html","../../../projects/raise-common-lib/src/lib/dialog/common-dialog/index.component.ts","../../../projects/raise-common-lib/src/lib/dialog/common-dialog/index.component.html","../../../projects/raise-common-lib/src/lib/dialog/common-delete-dialog/index.component.ts","../../../projects/raise-common-lib/src/lib/dialog/common-delete-dialog/index.component.html","../../../projects/raise-common-lib/src/lib/service/dialog.service.ts","../../../projects/raise-common-lib/src/lib/truncated-text-toggle/index.component.ts","../../../projects/raise-common-lib/src/lib/truncated-text-toggle/index.component.html","../../../projects/raise-common-lib/src/lib/commentary/index.component.ts","../../../projects/raise-common-lib/src/lib/commentary/index.component.html","../../../projects/raise-common-lib/src/lib/layout/layout-content-slots.directives.ts","../../../projects/raise-common-lib/src/lib/form/search-input/index.component.ts","../../../projects/raise-common-lib/src/lib/form/search-input/index.component.html","../../../projects/raise-common-lib/src/lib/layout/page-list/index.component.ts","../../../projects/raise-common-lib/src/lib/layout/page-list/index.component.html","../../../projects/raise-common-lib/src/lib/layout/page-tab/index.component.ts","../../../projects/raise-common-lib/src/lib/layout/page-tab/index.component.html","../../../projects/raise-common-lib/src/lib/layout/grid-box/index.component.ts","../../../projects/raise-common-lib/src/lib/layout/grid-box/index.component.html","../../../projects/raise-common-lib/src/lib/service/drawer.service.ts","../../../projects/raise-common-lib/src/lib/layout/multi-tab/index.component.ts","../../../projects/raise-common-lib/src/lib/layout/multi-tab/index.component.html","../../../projects/raise-common-lib/src/lib/layout/drawer/index.component.ts","../../../projects/raise-common-lib/src/lib/layout/drawer/index.component.html","../../../projects/raise-common-lib/src/lib/layout/nav-card-group/index.component.ts","../../../projects/raise-common-lib/src/lib/layout/nav-card-group/index.component.html","../../../projects/raise-common-lib/src/lib/actions/toolbar-item/index.component.ts","../../../projects/raise-common-lib/src/lib/actions/toolbar-item/index.component.html","../../../projects/raise-common-lib/src/lib/actions/toolbar/index.component.ts","../../../projects/raise-common-lib/src/lib/actions/toolbar/index.component.html","../../../projects/raise-common-lib/src/assets/language/ja.ts","../../../projects/raise-common-lib/src/assets/language/ko.ts","../../../projects/raise-common-lib/src/assets/language/fr.ts","../../../projects/raise-common-lib/src/assets/language/zh-CN.ts","../../../projects/raise-common-lib/src/assets/language/zh-TW.ts","../../../projects/raise-common-lib/src/lib/service/translation.service.ts","../../../projects/raise-common-lib/src/lib/layout/rs-header/index.component.ts","../../../projects/raise-common-lib/src/lib/layout/rs-header/index.component.html","../../../projects/raise-common-lib/src/lib/layout/rs-footer/index.component.ts","../../../projects/raise-common-lib/src/lib/layout/rs-footer/index.component.html","../../../projects/raise-common-lib/src/lib/layout/main-container/index.component.ts","../../../projects/raise-common-lib/src/lib/layout/main-container/index.component.html","../../../projects/raise-common-lib/src/lib/layout/rs-aside/index.component.ts","../../../projects/raise-common-lib/src/lib/layout/rs-aside/index.component.html","../../../projects/raise-common-lib/src/lib/layout/rs-stepper/index.component.ts","../../../projects/raise-common-lib/src/lib/layout/rs-stepper/index.component.html","../../../projects/raise-common-lib/src/lib/form/tag-input/index.component.ts","../../../projects/raise-common-lib/src/lib/form/tag-input/index.component.html","../../../projects/raise-common-lib/src/lib/form/radio-group/index.component.ts","../../../projects/raise-common-lib/src/lib/form/radio-group/index.component.html","../../../projects/raise-common-lib/src/lib/form/checkbox-group/index.component.ts","../../../projects/raise-common-lib/src/lib/form/checkbox-group/index.component.html","../../../projects/raise-common-lib/src/lib/form/switch-input/index.component.ts","../../../projects/raise-common-lib/src/lib/form/switch-input/index.component.html","../../../projects/raise-common-lib/src/lib/form/encrypted-input/index.component.ts","../../../projects/raise-common-lib/src/lib/form/encrypted-input/index.component.html","../../../projects/raise-common-lib/src/lib/form/drawer-form/constants.ts","../../../projects/raise-common-lib/src/lib/form/drawer-form/drawer-form.component.ts","../../../projects/raise-common-lib/src/lib/form/drawer-form/drawer-form.component.html","../../../projects/raise-common-lib/src/lib/form/richtexteditor/data-config.ts","../../../projects/raise-common-lib/src/lib/form/richtexteditor/index.component.ts","../../../projects/raise-common-lib/src/lib/form/richtexteditor/index.component.html","../../../projects/raise-common-lib/src/lib/form/confirm-select/index.component.ts","../../../projects/raise-common-lib/src/lib/form/confirm-select/index.component.html","../../../projects/raise-common-lib/src/lib/smart-popup/index.component.ts","../../../projects/raise-common-lib/src/lib/smart-popup/index.component.html","../../../projects/raise-common-lib/src/lib/service/InjectionToken.ts","../../../projects/raise-common-lib/src/lib/utils/utils.ts","../../../projects/raise-common-lib/src/lib/dashboard/dashboard.service.ts","../../../projects/raise-common-lib/src/lib/dashboard/api.ts","../../../projects/raise-common-lib/src/lib/dashboard/dashboardPorlets.service.ts","../../../projects/raise-common-lib/src/lib/dashboard/sidebar-iconlist/field-format/field-format.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/sidebar-iconlist/field-format/field-format.component.html","../../../projects/raise-common-lib/src/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.html","../../../projects/raise-common-lib/src/lib/dashboard/bar-charts/utils.ts","../../../projects/raise-common-lib/src/lib/dashboard/pane-group-new/duplicate-dialog/index.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/pane-group-new/duplicate-dialog/index.component.html","../../../projects/raise-common-lib/src/lib/dashboard/pane-group-new/rename-dialog/index.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/pane-group-new/rename-dialog/index.component.html","../../../projects/raise-common-lib/src/lib/dashboard/pane-group-new/redirect/index.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/pane-group-new/redirect/index.component.html","../../../projects/raise-common-lib/src/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.html","../../../projects/raise-common-lib/src/lib/dashboard/gadget-group/gadget-table/gadget-table.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/gadget-group/gadget-table/gadget-table.component.html","../../../projects/raise-common-lib/src/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.html","../../../projects/raise-common-lib/src/lib/dashboard/bar-charts/bar-charts.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/bar-charts/bar-charts.component.html","../../../projects/raise-common-lib/src/lib/dashboard/pane-group-new.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/pane-group-new.component.html","../../../projects/raise-common-lib/src/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.html","../../../projects/raise-common-lib/src/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.html","../../../projects/raise-common-lib/src/lib/dashboard/dialog-group/download/index.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/dialog-group/download/index.component.html","../../../projects/raise-common-lib/src/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.html","../../../projects/raise-common-lib/src/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.html","../../../projects/raise-common-lib/src/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.ts","../../../projects/raise-common-lib/src/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.html","../../../projects/raise-common-lib/src/lib/service/icon-loader.service.ts","../../../projects/raise-common-lib/src/lib/service/keep-alive.service.ts","../../../projects/raise-common-lib/src/lib/raise-common-lib.module.ts","../../../projects/raise-common-lib/src/lib/raise-common-lib-dashboard.module.ts","../../../projects/raise-common-lib/src/public-api.ts","../../../projects/raise-common-lib/src/raise-common-lib-new.ts"],"sourcesContent":["import {\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  TemplateRef,\r\n  OnChanges,\r\n  ViewChild,\r\n  SimpleChanges,\r\n  ChangeDetectorRef,\r\n} from \"@angular/core\";\r\nimport { GridComponent } from \"@syncfusion/ej2-angular-grids\";\r\nimport { times } from \"lodash\";\r\nimport { BeforeOpenCloseEventArgs } from \"@syncfusion/ej2-angular-inputs\";\r\nimport { IActionMenuItem, IColumnField } from \"../constant\";\r\n\r\n@Component({\r\n  selector: \"rs-common-grid\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class CommonGridComponent implements OnInit, OnChanges {\r\n  @ViewChild(\"grid\", { static: false })\r\n  public grid: GridComponent;\r\n  @Input() showCheckBox = true;\r\n  @Input() loaded = true;\r\n  @Input() hiddenLoaded = false;\r\n  @Input() authorized = true; // Dataset是否授权，未授权则显示权限错误提示\r\n  // only use for local data pagination\r\n  @Input() selectedDiffKey = \"\";\r\n  @Input() gridHeight = \"\";\r\n  // 这玩意必填，不然filter columnChooser都会报错\r\n  @Input() gridId = \"grid\";\r\n  @Input() resizeSettings = { mode: \"Auto\" };\r\n  @Input() filterSettings = { type: \"Menu\" };\r\n  @Input() template: any;\r\n  @Input() fields: IColumnField[] = [];\r\n  @Input() dataSource = [];\r\n  @Input() editSettings;\r\n  @Input() columnTemplate: TemplateRef<any>;\r\n  @Input() pageSettings;\r\n  @Input() allowPaging = true;\r\n  @Input() allowRowDragAndDrop = false;\r\n  @Input() clipMode = \"EllipsisWithTooltip\";\r\n  @Input() checkBoxWidth = 32; // col 数量过少的时候，check宽度会拉伸，这时候设置null\r\n  @Input() childGrid;\r\n  @Input() frozenColumns; // col 数量过少的时候，check宽度会拉伸，这时候设置null\r\n  @Input() columnChooserSettings;\r\n  @Input() headerTemplate: TemplateRef<any>;\r\n  /**\r\n\t * Sample: [\r\n\t\t\t{\r\n\t\t\t\ttext: \"Preview\",\r\n\t\t\t\ttarget: \".e-content\",\r\n\t\t\t\tid: \"preview-icon\",\r\n\t\t\t\ticonCss: \"preview\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttext: \"Download\",\r\n\t\t\t\ttarget: \".e-content\",\r\n\t\t\t\tid: \"download-icon\",\r\n\t\t\t\ticonCss: \"download\",\r\n\t\t\t}\r\n\t\t]\r\n\t\t用于定义row中 点击事件\r\n\t */\r\n  @Input() contextMenuItems: IActionMenuItem[] = [];\r\n  // @Input() selectionSettings = { checkboxOnly: true, type: \"Multiple\" };\r\n  @Input() selectionSettings = {\r\n    type: \"Multiple\",\r\n    // persistSelection: true,\r\n    checkboxOnly: true,\r\n  };\r\n  @Input() alwaysShowCheckbox: boolean = false;\r\n  @Input() defaultRecord: any;\r\n  @Input() disableSystemRow: boolean = false; // 禁用IsSytem = true的整行\r\n\r\n  @Output() recordDoubleClick = new EventEmitter();\r\n  @Output() actionComplete = new EventEmitter();\r\n  @Output() rowSelected = new EventEmitter();\r\n  @Output() rowDeselected = new EventEmitter();\r\n  @Output() rowDeselecting = new EventEmitter();\r\n  @Output() onContextMenu = new EventEmitter();\r\n  @Output() actionHandler = new EventEmitter();\r\n  @Output() queryCellInfo = new EventEmitter();\r\n  @Output() recordClick = new EventEmitter();\r\n  @Output() actionBegin = new EventEmitter();\r\n  @Output() rowDataBound = new EventEmitter();\r\n  @Output() dataBound = new EventEmitter();\r\n  @Output() exportQueryCellInfo = new EventEmitter();\r\n  @Output() rowSelecting = new EventEmitter();\r\n  @Output() rowDrop = new EventEmitter();\r\n  @Output() rowDrag = new EventEmitter();\r\n  @Output() rowDragStart = new EventEmitter();\r\n\r\n  selectId = [];\r\n  startPaging = false;\r\n  indexList = [];\r\n  className = \"grid-loading\";\r\n\r\n  public translation;\r\n\r\n  constructor(private ref: ChangeDetectorRef) {\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\"));\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    if (this.hiddenLoaded) this.className = \"\";\r\n    this.gridId =\r\n      this.gridId + Date.now() + \"_\" + Math.random().toString(36).slice(2, 5);\r\n    this.ref && this.ref.markForCheck();\r\n  }\r\n\r\n  trackByFn(index, item) {\r\n    return index; // or a unique identifier in your object\r\n  }\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (changes.dataSource && changes.dataSource.currentValue) {\r\n      if (\r\n        this.allowPaging &&\r\n        changes.dataSource.currentValue.length &&\r\n        !this.pageSettings\r\n      ) {\r\n        this.pageSettings =\r\n          changes.dataSource.currentValue.length > 9\r\n            ? {\r\n                pageSizes: [\"All\", \"25\", \"50\", \"100\"],\r\n                pageSize: 50,\r\n              }\r\n            : null;\r\n      }\r\n    }\r\n  }\r\n\r\n  _load() {\r\n    if (!this.authorized) {\r\n      (this.grid.localeObj as any).localeStrings.EmptyRecord =\r\n        this.translation.YOU_DO_NOT_HAVE_THE_DATASET_PERMISSION ||\r\n        \"You don't have the dataset permission to view the record.\";\r\n    }\r\n  }\r\n\r\n  _dataBound(args: any) {\r\n    // 整个组件加载完成时的回调函数\r\n    var pagerContainer = document.querySelector(\".e-pagercontainer\");\r\n    if (pagerContainer) {\r\n      var linkElements = pagerContainer.querySelectorAll(\".e-link\");\r\n      linkElements.forEach(function (element) {\r\n        element.removeAttribute(\"href\"); // SMP2-10310 删除分页器的href属性\r\n      });\r\n    }\r\n    if (this.selectedDiffKey) {\r\n      setTimeout(() => {\r\n        this.chooseRecords();\r\n      });\r\n    }\r\n    this.dataBound.emit(args);\r\n  }\r\n\r\n  _exportQueryCellInfo(args) {\r\n    this.exportQueryCellInfo.emit(args);\r\n  }\r\n\r\n  _rowDrag(args) {\r\n    this.rowDrag.emit(args);\r\n  }\r\n\r\n  _rowDragStart(args) {\r\n    this.rowDragStart.emit(args);\r\n  }\r\n\r\n  _recordDoubleClick($event) {\r\n    this.recordDoubleClick.emit($event);\r\n  }\r\n\r\n  _rowDeselecting($event) {\r\n    this.rowDeselecting.emit($event);\r\n  }\r\n  /**\r\n\t * [selectionSettings]=\"{ checkboxOnly: true }\"\r\n\t   [showCheckBox]=\"true\"\r\n\t   控件使用时，必须配置上面两个属性，否则，全选会失效\r\n\t */\r\n  _rowSelected($event) {\r\n    if (this.selectedDiffKey) {\r\n      if ($event.isHeaderCheckboxClicked && Array.isArray($event.data)) {\r\n        if ($event.data && $event.data.length) {\r\n          $event.data.forEach((item) => {\r\n            item.isSelected = true;\r\n            this.selectId.push(item);\r\n          });\r\n          this.dataSource.forEach((data) => {\r\n            $event.data.forEach((_data) => {\r\n              if (_data[this.selectedDiffKey] === data[this.selectedDiffKey]) {\r\n                data.isSelected = true;\r\n              }\r\n            });\r\n          });\r\n        }\r\n      } else {\r\n        $event.data.isSelected = true;\r\n        this.selectId.push($event.data);\r\n        this.dataSource.forEach((data) => {\r\n          if (\r\n            data[this.selectedDiffKey] === $event.data[this.selectedDiffKey]\r\n          ) {\r\n            data.isSelected = true;\r\n          }\r\n        });\r\n      }\r\n      this.ref && this.ref.markForCheck();\r\n    }\r\n    this.rowSelected.emit($event);\r\n  }\r\n\r\n  _rowDeselected($event) {\r\n    if (this.selectedDiffKey) {\r\n      if (this.startPaging) {\r\n        return;\r\n      }\r\n      if ($event.isHeaderCheckboxClicked && Array.isArray($event.data)) {\r\n        $event.data.forEach((item) => {\r\n          item.isSelected = false;\r\n        });\r\n        this.selectId = [];\r\n        this.dataSource.forEach((data) => {\r\n          $event.data.forEach((_data) => {\r\n            if (_data[this.selectedDiffKey] === data[this.selectedDiffKey]) {\r\n              data.isSelected = false;\r\n            }\r\n          });\r\n        });\r\n      } else {\r\n        $event.data.isSelected = false;\r\n        this.selectId = this.selectId.filter(\r\n          (item) =>\r\n            item[this.selectedDiffKey] !== $event.data[this.selectedDiffKey]\r\n        );\r\n        this.dataSource.forEach((data) => {\r\n          if (\r\n            data[this.selectedDiffKey] === $event.data[this.selectedDiffKey]\r\n          ) {\r\n            data.isSelected = false;\r\n          }\r\n        });\r\n      }\r\n      this.ref && this.ref.markForCheck();\r\n    }\r\n    this.rowDeselected.emit($event);\r\n  }\r\n\r\n  _onContextMenu(args) {\r\n    this.onContextMenu.emit(args);\r\n  }\r\n\r\n  _actionBegin(args) {\r\n    if (\r\n      this.selectedDiffKey &&\r\n      (args.requestType === \"paging\" ||\r\n        args.requestType === \"searching\" ||\r\n        args.requestType === \"filtering\" ||\r\n        args.requestType === \"sorting\")\r\n    ) {\r\n      this.startPaging = true;\r\n    }\r\n    if (\r\n      args.requestType == \"filterchoicerequest\" ||\r\n      args.requestType === \"filtersearchbegin\"\r\n    ) {\r\n      args.filterChoiceCount = 15000;\r\n    }\r\n\r\n    this.actionBegin.emit(args);\r\n  }\r\n\r\n  search(keywords) {\r\n    this.grid.search(keywords);\r\n  }\r\n  selectRows(indexList: number[]) {\r\n    this.grid.selectRows(indexList);\r\n  }\r\n  selectRow(index) {\r\n    this.grid.selectRow(index);\r\n  }\r\n  getCurrentViewRecords() {\r\n    return this.grid.getCurrentViewRecords();\r\n  }\r\n\r\n  customiseCell($event) {\r\n    this.queryCellInfo.emit($event);\r\n  }\r\n\r\n  contextMenuOpen(args?: BeforeOpenCloseEventArgs): void {\r\n    const data = (args as BeforeOpenCloseEventArgs | any).rowInfo.rowData;\r\n    if (!data) {\r\n      args.cancel = true;\r\n      return;\r\n    }\r\n    let enableItems = [];\r\n    let hideItems = [];\r\n    this.grid.contextMenuModule.contextMenu.refresh(); // 每次点击按钮弹窗前需再次初始化状态 否则不更新；\r\n    this.contextMenuItems.forEach((item: IActionMenuItem) => {\r\n      // 用于处理部分按钮disabled的情况\r\n      if (\r\n        item.disabled ||\r\n        (data.disableItem && data.disableItem.includes(item.iconCss))\r\n      ) {\r\n        enableItems.push(item.text);\r\n        // this.grid.contextMenuModule.contextMenu.enableItems(\r\n        // \t[item.text],\r\n        // \tfalse\r\n        // );\r\n      }\r\n      // 用于处理部分按钮需要hide的情况\r\n      if (\r\n        item.isHide ||\r\n        (data.hideItem && data.hideItem.includes(item.iconCss))\r\n      ) {\r\n        hideItems.push(item.text);\r\n        // this.grid.contextMenuModule.contextMenu.hideItems(\r\n        // \t[item.text],\r\n        // \tfalse\r\n        // );\r\n      }\r\n    });\r\n    this.grid.contextMenuModule.contextMenu.enableItems(enableItems, false);\r\n    this.grid.contextMenuModule.contextMenu.hideItems(hideItems, false);\r\n  }\r\n\r\n  _actionHandler($event) {\r\n    if (\r\n      this.selectedDiffKey &&\r\n      ($event.requestType === \"paging\" ||\r\n        $event.requestType === \"searching\" ||\r\n        $event.requestType === \"filtering\" ||\r\n        $event.requestType === \"sorting\")\r\n    ) {\r\n      this.indexList = [];\r\n      setTimeout(() => {\r\n        this.chooseRecords();\r\n        this.startPaging = false;\r\n        this.ref && this.ref.detectChanges();\r\n        this.ref && this.ref.markForCheck();\r\n      });\r\n    }\r\n    this.actionHandler.emit($event);\r\n    this.actionComplete.emit($event);\r\n  }\r\n\r\n  private chooseRecords() {\r\n    this.indexList = [];\r\n    this.dataSource.forEach((data) => {\r\n      this.grid.getCurrentViewRecords().forEach((row: any, i) => {\r\n        if (\r\n          row &&\r\n          data[this.selectedDiffKey] === row[this.selectedDiffKey] &&\r\n          data.isSelected\r\n        ) {\r\n          this.indexList.push(i);\r\n        }\r\n      });\r\n    });\r\n\r\n    this.grid.selectRows(this.indexList);\r\n  }\r\n\r\n  _recordClick($event) {\r\n    this.recordClick.emit($event);\r\n  }\r\n  refresh() {\r\n    this.grid.refresh();\r\n  }\r\n  _rowSelecting(e) {\r\n    this.rowSelecting.emit(e);\r\n  }\r\n  refreshColumns() {\r\n    this.grid.refreshColumns();\r\n  }\r\n  refreshHeader() {\r\n    this.grid.refreshHeader();\r\n  }\r\n\r\n  export(excelExportProperties?) {\r\n    this.grid.excelExport(excelExportProperties);\r\n  }\r\n\r\n  getSelectedRecords() {\r\n    return this.grid.getSelectedRecords();\r\n  }\r\n\r\n  onRowDrop(e) {\r\n    this.rowDrop.emit(e);\r\n  }\r\n\r\n  _rowDataBound($event) {\r\n    if (this.disableSystemRow && $event.data && $event.data.IsSystem) {\r\n      $event.row.classList.add(\"e-disabled\");\r\n    }\r\n    this.rowDataBound.emit($event);\r\n  }\r\n\r\n  clearSelection() {\r\n    this.grid.clearSelection();\r\n  }\r\n\r\n  excelExport() {\r\n    this.grid.excelExport();\r\n  }\r\n\r\n  addItem() {\r\n    this.grid.addRecord({ ...this.defaultRecord, isNew: true }, 0);\r\n    setTimeout(() => {\r\n      this.grid.selectRow(0);\r\n      this.grid.startEdit();\r\n    }, 30);\r\n  }\r\n\r\n  saveItem() {\r\n    this.grid.endEdit();\r\n  }\r\n\r\n  editItem(index) {\r\n    setTimeout(() => {\r\n      this.grid.selectRow(Number(index));\r\n      this.grid.startEdit();\r\n    }, 30);\r\n  }\r\n\r\n  deleteItem(index) {\r\n    this.grid.selectRow(Number(index));\r\n    var selectedRecord = this.grid.getSelectedRecords()[0] as any;\r\n    this.grid.deleteRecord(selectedRecord as string);\r\n  }\r\n\r\n  cancelItem(index) {\r\n    this.grid.closeEdit();\r\n    this.deleteItem(index);\r\n  }\r\n  public initList = (num = 25, key = \"Id\") => {\r\n    const list = [];\r\n    times(num, (i) => {\r\n      list.push({\r\n        [key]: i,\r\n      });\r\n    });\r\n    return list;\r\n  };\r\n  public showLoading() {\r\n    this.className = \"grid-loading\";\r\n    this.ref && this.ref.markForCheck();\r\n    this.ref && this.ref.detectChanges();\r\n  }\r\n\r\n  public hideLoading() {\r\n    this.className = \"\";\r\n    this.ref && this.ref.markForCheck();\r\n    this.ref && this.ref.detectChanges();\r\n  }\r\n}\r\n","<ejs-grid\r\n  #grid\r\n  [id]=\"gridId\"\r\n  [ngClass]=\"{\r\n    'hide-Check-box': !alwaysShowCheckbox,\r\n    'grid-loading': className === 'grid-loading'\r\n  }\"\r\n  [dataSource]=\"dataSource\"\r\n  [allowPaging]=\"allowPaging && pageSettings\"\r\n  [allowResizing]=\"true\"\r\n  [pageSettings]=\"pageSettings\"\r\n  [showColumnMenu]=\"true\"\r\n  [allowSorting]=\"true\"\r\n  [allowFiltering]=\"true\"\r\n  [allowExcelExport]=\"true\"\r\n  [allowRowDragAndDrop]=\"allowRowDragAndDrop\"\r\n  [filterSettings]=\"filterSettings\"\r\n  [resizeSettings]=\"resizeSettings\"\r\n  [allowSelection]=\"true\"\r\n  [editSettings]=\"editSettings\"\r\n  [childGrid]=\"childGrid\"\r\n  [contextMenuItems]=\"dataSource && dataSource.length ? contextMenuItems : null\"\r\n  [selectionSettings]=\"selectionSettings\"\r\n  (recordClick)=\"_recordClick($event)\"\r\n  (recordDoubleClick)=\"_recordDoubleClick($event)\"\r\n  (actionBegin)=\"_actionBegin($event)\"\r\n  (actionComplete)=\"_actionHandler($event)\"\r\n  (rowSelected)=\"_rowSelected($event)\"\r\n  (rowDeselecting)=\"_rowDeselecting($event)\"\r\n  (rowDeselected)=\"_rowDeselected($event)\"\r\n  style=\"border: none\"\r\n  (contextMenuClick)=\"_onContextMenu($event)\"\r\n  (contextMenuOpen)=\"contextMenuOpen($event)\"\r\n  (queryCellInfo)=\"customiseCell($event)\"\r\n  (dataBound)=\"_dataBound($event)\"\r\n  (rowDataBound)=\"_rowDataBound($event)\"\r\n  (rowSelecting)=\"_rowSelecting($event)\"\r\n  (excelQueryCellInfo)=\"_exportQueryCellInfo($event)\"\r\n  (rowDrop)=\"onRowDrop($event)\"\r\n  (rowDragStart)=\"_rowDragStart($event)\"\r\n  (rowDrag)=\"_rowDrag($event)\"\r\n  (load)=\"_load()\"\r\n  [frozenColumns]=\"frozenColumns\"\r\n  [columnChooserSettings]=\"columnChooserSettings\"\r\n>\r\n  <e-columns>\r\n    <e-column\r\n      *ngIf=\"showCheckBox\"\r\n      type=\"checkbox\"\r\n      [width]=\"checkBoxWidth\"\r\n      [minWidth]=\"checkBoxWidth\"\r\n      [showColumnMenu]=\"false\"\r\n      [allowResizing]=\"false\"\r\n    ></e-column>\r\n    <e-column\r\n      *ngFor=\"let item of fields; trackBy: trackByFn; let last = last\"\r\n      [field]=\"item.columnName\"\r\n      [filter]=\"item.filter ? item.filter : { type: 'CheckBox' }\"\r\n      [customAttributes]=\"\r\n        item.colName === 'entityUserList' || item.colName === 'kycProgress'\r\n          ? { class: 'hideColumnFilterClass' }\r\n          : {}\r\n      \"\r\n      [headerText]=\"item.columnDisplayName\"\r\n      [textAlign]=\"item.textAlign\"\r\n      [showColumnMenu]=\"item.showColumnMenu === undefined ? true : false\"\r\n      [allowFiltering]=\"item.allowFiltering === undefined ? true : false\"\r\n      [allowSorting]=\"item.allowSorting === undefined ? true : false\"\r\n      [showInColumnChooser]=\"\r\n        item.showInColumnChooser === undefined ? true : item.showInColumnChooser\r\n      \"\r\n      [editType]=\"item.editType\"\r\n      [validationRules]=\"item.validationRules\"\r\n      [type]=\"item.dataType || 'string'\"\r\n      [width]=\"item.width\"\r\n      [minWidth]=\"item.minWidth\"\r\n      [format]=\"item.format\"\r\n      [visible]=\"item.visible\"\r\n      [template]=\"item.showTemplate ? columnTemplate : undefined\"\r\n      [clipMode]=\"\r\n        item.clipMode ? item.clipMode : clipMode || 'EllipsisWithTooltip'\r\n      \"\r\n      [sortComparer]=\"item.dateComparer || null\"\r\n      [allowResizing]=\"!last\"\r\n      [headerTemplate]=\"item.showHeaderTemplate ? headerTemplate : undefined\"\r\n    >\r\n    </e-column>\r\n  </e-columns>\r\n</ejs-grid>\r\n","import { Component, Input } from \"@angular/core\";\r\n\r\nexport type GridActionItem = {\r\n\ttextKey: string;\r\n\timage?: string;\r\n\tdisabled?: (data: any) => boolean;\r\n\tshow?: (data: any) => boolean;\r\n\tonClick: (data: any) => void;\r\n};\r\n\r\n@Component({\r\n\tselector: \"rs-grid-action\",\r\n\ttemplateUrl: \"./grid-action.component.html\",\r\n\tstyleUrls: [\"./grid-action.component.scss\"],\r\n})\r\nexport class GridActionComponent {\r\n\ttranslation: Record<string, string>;\r\n\r\n\tconstructor() {\r\n\t\tthis.translation = JSON.parse(localStorage.getItem(\"translation\"));\r\n\t}\r\n}\r\n","<button\r\n\tclass=\"grid-action-toggle\"\r\n\tmat-button\r\n\ttype=\"button\"\r\n\t[matMenuTriggerFor]=\"menu\"\r\n\tmatTooltip=\"{{ translation.ACTIONS }}\"\r\n>\r\n\t<mat-icon svgIcon=\"more\"></mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\" class=\"grid-action-menu-content\">\r\n\t<ng-content></ng-content>\r\n</mat-menu>\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  OnDestroy,\r\n  Output,\r\n  ViewChild,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"rs-float-box\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class FloatBoxComponent implements AfterViewInit, OnDestroy {\r\n  @Input(\"placement\") _placement: \"top\" | \"left\" | \"right\" | \"bottom\";\r\n  @Input(\"position\") _position: \"start\" | \"center\" | \"end\";\r\n  @Input(\"trigger\") _trigger: \"hover\" | \"click\" | \"rightClick\" = \"hover\";\r\n  @Input(\"animation\") _animation: \"yes\" | \"no\" = \"no\";\r\n  @Input(\"fixed\") _fixed: \"yes\" | \"no\" = \"no\";\r\n  @Input(\"floatClass\") _floatClass: string = \"\";\r\n  get placement() {\r\n    if ([\"top\", \"left\", \"right\", \"bottom\"].includes(this._placement)) {\r\n      return this._placement;\r\n    }\r\n    return \"bottom\";\r\n  }\r\n\r\n  get position() {\r\n    if ([\"start\", \"center\", \"end\"].includes(this._position)) {\r\n      return this._position;\r\n    }\r\n    return \"center\";\r\n  }\r\n\r\n  get trigger() {\r\n    if (this._trigger === \"click\") {\r\n      return \"click\";\r\n    }\r\n    if (this._trigger === \"rightClick\") {\r\n      return \"rightClick\";\r\n    }\r\n    return \"hover\";\r\n  }\r\n\r\n  get animation() {\r\n    if (this._animation === \"yes\") {\r\n      return \"yes\";\r\n    }\r\n    return \"no\";\r\n  }\r\n\r\n  get fixed() {\r\n    if (this._fixed === \"yes\") {\r\n      return \"yes\";\r\n    }\r\n    return \"no\";\r\n  }\r\n\r\n  @Output(\"openChange\") openChange = new EventEmitter<boolean>();\r\n\r\n  @ViewChild(\"element\", { static: false })\r\n  rootElement: ElementRef<HTMLDivElement>;\r\n  @ViewChild(\"content\", { static: false })\r\n  contentElement: ElementRef<HTMLDivElement>;\r\n\r\n  constructor(private ref: ChangeDetectorRef) {}\r\n\r\n  ngAfterViewInit() {\r\n    this.fixedContainerEl = this.getFixedContainer();\r\n    if (this.fixed === \"yes\") {\r\n      this.fixedContainerEl.append(this.contentElement.nativeElement);\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.contentElement.nativeElement.remove();\r\n  }\r\n\r\n  FIXED_CONTAINER_ID = \"kt-float-box-fixed-container\";\r\n  fixedContainerEl: HTMLElement;\r\n  getFixedContainer() {\r\n    let containerElement = document.getElementById(this.FIXED_CONTAINER_ID);\r\n    if (!containerElement) {\r\n      containerElement = document.createElement(\"div\");\r\n      containerElement.setAttribute(\"id\", this.FIXED_CONTAINER_ID);\r\n      document.body.append(containerElement);\r\n    }\r\n    return containerElement;\r\n  }\r\n\r\n  setFixedContentPosition() {\r\n    if (this.fixed === \"no\") {\r\n      return;\r\n    }\r\n\r\n    const {\r\n      top: y,\r\n      left: x,\r\n      width,\r\n      height,\r\n    } = this.rootElement.nativeElement.getBoundingClientRect();\r\n\r\n    let top = \"0\";\r\n    let left = \"0\";\r\n    let translateX = \"0\";\r\n    let translateY = \"0\";\r\n    switch (this.placement + \"_\" + this.position) {\r\n      case \"top_start\":\r\n        top = y + \"px\";\r\n        left = x - 8 + \"px\";\r\n        translateY = \"-100%\";\r\n        break;\r\n      case \"top_center\":\r\n        top = y + \"px\";\r\n        left = x + width / 2 + \"px\";\r\n        translateX = \"-50%\";\r\n        translateY = \"-100%\";\r\n        break;\r\n      case \"top_end\":\r\n        top = y + \"px\";\r\n        left = x + width + 8 + \"px\";\r\n        translateX = \"-100%\";\r\n        translateY = \"-100%\";\r\n        break;\r\n      case \"left_start\":\r\n        top = y - 8 + \"px\";\r\n        left = x + \"px\";\r\n        translateX = \"-100%\";\r\n        break;\r\n      case \"left_center\":\r\n        top = y + height / 2 + \"px\";\r\n        left = x + \"px\";\r\n        translateX = \"-100%\";\r\n        translateY = \"-50%\";\r\n        break;\r\n      case \"left_end\":\r\n        top = y + height + 8 + \"px\";\r\n        left = x + \"px\";\r\n        translateX = \"-100%\";\r\n        translateY = \"-100%\";\r\n        break;\r\n      case \"right_start\":\r\n        top = y - 8 + \"px\";\r\n        left = x + width + \"px\";\r\n        break;\r\n      case \"right_center\":\r\n        top = y + height / 2 + \"px\";\r\n        left = x + width + \"px\";\r\n        translateY = \"-50%\";\r\n        break;\r\n      case \"right_end\":\r\n        top = y + height + 8 + \"px\";\r\n        left = x + width + \"px\";\r\n        translateY = \"-100%\";\r\n        break;\r\n      case \"bottom_start\":\r\n        top = y + height + \"px\";\r\n        left = x - 8 + \"px\";\r\n        break;\r\n      case \"bottom_center\":\r\n        top = y + height + \"px\";\r\n        left = x + width / 2 + \"px\";\r\n        translateX = \"-50%\";\r\n        break;\r\n      case \"bottom_end\":\r\n        top = y + height + \"px\";\r\n        left = x + width + 8 + \"px\";\r\n        translateX = \"-100%\";\r\n        break;\r\n    }\r\n\r\n    this.contentElement.nativeElement.style.top = top;\r\n    this.contentElement.nativeElement.style.left = left;\r\n    this.contentElement.nativeElement.style.transform = `translate(${translateX}, ${translateY})`;\r\n  }\r\n\r\n  opened: \"yes\" | \"no\" = \"no\";\r\n  onClickContainer(event: MouseEvent) {\r\n\t\tevent.stopPropagation(); // 阻止点击事件冒泡到外层，避免穿透\r\n    if (this.trigger !== \"click\") {\r\n      return;\r\n    }\r\n\r\n    this.opened = \"yes\";\r\n    this.openChange.emit(true);\r\n    this.setFixedContentPosition();\r\n    window.addEventListener(\"click\", this.onClickOutside);\r\n  }\r\n\r\n  onClickOutside = (event: MouseEvent) => {\r\n    let floatElement;\r\n    if (this._floatClass) {\r\n      floatElement = document.querySelector(`${this._floatClass}`);\r\n    }\r\n    if (\r\n      !this.rootElement.nativeElement.contains(event.target as Element) &&\r\n      !this.fixedContainerEl.contains(event.target as Element) &&\r\n      (!floatElement || !floatElement.contains(event.target as Element))\r\n    ) {\r\n      this.opened = \"no\";\r\n      this.openChange.emit(false);\r\n      window.removeEventListener(\"click\", this.onClickOutside);\r\n      this.ref.markForCheck();\r\n    }\r\n  };\r\n\r\n  onRightClickContainer(event: MouseEvent) {\r\n    if (this.trigger !== \"rightClick\") {\r\n      return;\r\n    }\r\n\r\n    event.preventDefault(); // 阻止默认右键菜单\r\n    this.opened = \"yes\";\r\n    this.openChange.emit(true);\r\n    this.setFixedContentPosition();\r\n    window.addEventListener(\"contextmenu\", this.onContextMenuOutside);\r\n    window.addEventListener(\"click\", this.onContextMenuOutside);\r\n  }\r\n\r\n  onContextMenuOutside = (event: MouseEvent) => {\r\n    let floatElement;\r\n    if (this._floatClass) {\r\n      floatElement = document.querySelector(`${this._floatClass}`);\r\n    }\r\n    if (\r\n      !this.rootElement.nativeElement.contains(event.target as Element) &&\r\n      !this.fixedContainerEl.contains(event.target as Element) &&\r\n      (!floatElement || !floatElement.contains(event.target as Element))\r\n    ) {\r\n      this.opened = \"no\";\r\n      this.openChange.emit(false);\r\n      window.removeEventListener(\"contextmenu\", this.onContextMenuOutside);\r\n      window.removeEventListener(\"click\", this.onContextMenuOutside);\r\n      this.ref.markForCheck();\r\n    }\r\n  };\r\n\r\n  onMouseEnter() {\r\n    if (this.fixed === \"no\" || this.trigger !== \"hover\") {\r\n      return;\r\n    }\r\n\r\n    this.opened = \"yes\";\r\n    this.openChange.emit(true);\r\n    this.setFixedContentPosition();\r\n    window.addEventListener(\"mousemove\", this.onMoveOutside);\r\n  }\r\n\r\n  onMoveOutside = (event: MouseEvent) => {\r\n    let floatElement;\r\n    if (this._floatClass) {\r\n      floatElement = document.querySelector(`${this._floatClass}`);\r\n    }\r\n    if (\r\n      !this.rootElement.nativeElement.contains(event.target as Element) &&\r\n      !this.contentElement.nativeElement.contains(event.target as Element) &&\r\n      (!floatElement || !floatElement.contains(event.target as Element))\r\n    ) {\r\n      this.opened = \"no\";\r\n      this.openChange.emit(false);\r\n      window.removeEventListener(\"click\", this.onMoveOutside);\r\n      this.ref.markForCheck();\r\n    }\r\n  };\r\n\r\n  close() {\r\n    setTimeout(() => {\r\n      this.opened = \"no\";\r\n      this.ref.markForCheck();\r\n      this.ref.detectChanges();\r\n      this.openChange.emit(false);\r\n    }, 0);\r\n  }\r\n}\r\n","<div\r\n  #element\r\n  class=\"float-box-container\"\r\n  [attr.data-trigger]=\"trigger\"\r\n  (click)=\"onClickContainer($event)\"\r\n  (contextmenu)=\"onRightClickContainer($event)\"\r\n  (mouseenter)=\"onMouseEnter()\"\r\n>\r\n  <ng-content></ng-content>\r\n  <div\r\n    #content\r\n    class=\"float-box-content\"\r\n    [attr.data-placement]=\"placement\"\r\n    [attr.data-position]=\"position\"\r\n    [attr.data-animation]=\"animation\"\r\n    [attr.data-fixed]=\"fixed\"\r\n    [attr.data-opened]=\"opened\"\r\n  >\r\n    <div class=\"float-box-show-content\">\r\n      <ng-content select=\"[float-content]\"></ng-content>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { Component, HostBinding, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"rs-grid-action-item\",\r\n  templateUrl: \"./grid-action-item.component.html\",\r\n})\r\nexport class GridActionItemComponent {\r\n  @Input(\"image\") image: string;\r\n  @Input(\"text\") text: string;\r\n  @Input(\"disabled\") disabled: boolean;\r\n  @Input(\"children\") children: any[] = [];\r\n  @Input(\"hideArrow\") hideArrow: boolean = false;\r\n  @Input() disabledOptions: { [key: string]: any } = {};\r\n  @HostBinding(\"class.disabled\") get hostDisabled() {\r\n    return !!this.disabled;\r\n  }\r\n\r\n  ImageType = [\r\n    \"Detail\",\r\n    \"Edit\",\r\n    \"Duplicate\",\r\n    \"Refresh\",\r\n    \"Download\",\r\n    \"Delete\",\r\n    \"Note\",\r\n    \"Send\",\r\n    \"Copy\",\r\n    \"Settle\",\r\n    \"Preview\",\r\n    \"Export\",\r\n    \"Move\",\r\n    \"Add\",\r\n    \"Update\",\r\n    \"Import\",\r\n    \"Upload\",\r\n    \"AddFolder\",\r\n    \"Collapse\",\r\n    \"Combine\",\r\n    \"Lock\",\r\n    \"Expand\",\r\n    \"MoveTo\",\r\n    \"Publish\",\r\n    \"ReCalculate\",\r\n    \"Sync\",\r\n    \"Share\",\r\n    \"Rename\",\r\n    \"SaveSequence\",\r\n    \"SubmitForApproval\",\r\n    \"SendToControlPanel\",\r\n    \"SetReminders\",\r\n    \"Settle\",\r\n    \"Template\",\r\n    \"Workflow\",\r\n    \"FetchData\",\r\n    \"ViewStatus\",\r\n    \"Verify\",\r\n  ];\r\n}\r\n","<button\r\n  *ngIf=\"!children.length\"\r\n  class=\"grid-action-item e-btn text\"\r\n  mat-menu-item\r\n  type=\"button\"\r\n  [disabled]=\"!!disabled\"\r\n>\r\n  <span class=\"grid-action-image\" *ngIf=\"image\" [attr.data-type]=\"image\">\r\n    <img *ngIf=\"!ImageType.includes(image)\" [src]=\"image\" />\r\n  </span>\r\n  <span class=\"grid-action-item-text\">{{ text }}</span>\r\n</button>\r\n\r\n<rs-float-box placement=\"right\" position=\"start\">\r\n  <button\r\n    *ngIf=\"children.length\"\r\n    class=\"grid-action-item e-btn text\"\r\n    mat-menu-item\r\n    [disabled]=\"!!disabled\"\r\n  >\r\n    <span class=\"grid-action-image\" *ngIf=\"image\" [attr.data-type]=\"image\">\r\n      <img *ngIf=\"!ImageType.includes(image)\" [src]=\"image\" />\r\n    </span>\r\n    <span class=\"grid-action-item-text\">{{ text }}</span>\r\n    <span class=\"grid-action-arrow\" *ngIf=\"!hideArrow\">\r\n      <img src=\"assets/img/grid-menu-arrow-right.svg\" />\r\n    </span>\r\n  </button>\r\n  <div float-content>\r\n    <ng-container *ngFor=\"let button of children\">\r\n      <button\r\n        class=\"grid-action-item e-btn text\"\r\n        [disabled]=\"(button.key && disabledOptions[button.key]) || false\"\r\n        (click)=\"button.action()\"\r\n      >\r\n        <span\r\n          class=\"grid-action-image\"\r\n          *ngIf=\"button.image\"\r\n          [attr.data-type]=\"button.image\"\r\n        >\r\n          <img *ngIf=\"!ImageType.includes(button.image)\" [src]=\"button.image\" />\r\n        </span>\r\n        <span class=\"grid-action-item-text\">{{ button.text }}</span>\r\n      </button>\r\n    </ng-container>\r\n  </div>\r\n</rs-float-box>\r\n","export function Debounce(delay: number = 300) {\r\n  return function (\r\n    target: any,\r\n    propertyKey: string,\r\n    descriptor: PropertyDescriptor\r\n  ) {\r\n    const originalMethod = descriptor.value;\r\n    let timer: any;\r\n\r\n    descriptor.value = function (...args: any[]) {\r\n      clearTimeout(timer);\r\n      timer = setTimeout(() => {\r\n        originalMethod.apply(this, args);\r\n      }, delay);\r\n    };\r\n\r\n    return descriptor;\r\n  };\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable, Subject } from \"rxjs\";\r\n\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class CommonFunctionService {\r\n  constructor() {}\r\n  private closeTabSubject = new Subject<number>();\r\n  public closeTab$ = this.closeTabSubject.asObservable();\r\n\r\n  public pub = new Subject<any>();\r\n  public pub$: Observable<any> = this.pub.asObservable();\r\n\r\n  testMethod() {\r\n    return \"test1111\";\r\n  }\r\n\r\n  setMiddleEllipsis(text, maxWidth = 150, fontSize = 13) {\r\n    const canvas = document.createElement(\"canvas\");\r\n    const context = canvas.getContext(\"2d\");\r\n    context.font = `${fontSize}px Arial`;\r\n\r\n    let width = context.measureText(text).width;\r\n\r\n    if (width <= maxWidth) {\r\n      return text;\r\n    }\r\n    maxWidth = Math.floor(maxWidth - context.measureText(\"...\").width);\r\n    let firstPart = \"\";\r\n    let secondPart = \"\";\r\n    let half = Math.floor(maxWidth / 2);\r\n    for (let i = 0; i < text.length; i++) {\r\n      firstPart += text[i];\r\n      width = context.measureText(firstPart).width;\r\n      if (width > half) {\r\n        break;\r\n      }\r\n    }\r\n\r\n    for (let i = text.length - 1; i >= 0; i--) {\r\n      secondPart = text[i] + secondPart;\r\n      width = context.measureText(secondPart).width;\r\n      if (width > half) {\r\n        break;\r\n      }\r\n    }\r\n\r\n    return firstPart + \"...\" + secondPart;\r\n  }\r\n\r\n  getPureUrl(url: string) {\r\n    if (url) {\r\n      // 如果params的value 携带查询参数， 则截取前面部分\r\n      url = decodeURIComponent(url);\r\n      if (url.includes(\"?\")) {\r\n        url = url.split(\"?\")[0];\r\n      }\r\n    }\r\n    return url;\r\n  }\r\n\r\n  // 删除当前\r\n  closeTab(tabIndex?: number) {\r\n    return this.closeTabSubject.next(tabIndex);\r\n  }\r\n\r\n  publish(event) {\r\n    this.pub.next(event);\r\n  }\r\n\r\n  rtn(str) {\r\n    if (str && (str !== 0 || str !== \"0\")) {\r\n      let arr = str.trim().split(\" \");\r\n      let res = \"\";\r\n      for (let i = 0; i < arr.length; i++) {\r\n        let el = arr[i];\r\n        if (el) {\r\n          arr[i] = el.replace(/[^a-zA-z0-9\\u4e00-\\u9fa5]/g, \"\");\r\n        } else {\r\n          arr.splice(i, 1);\r\n          i--;\r\n        }\r\n      }\r\n      arr = arr.filter((el) => el);\r\n      var pattern = new RegExp(\"[\\u4E00-\\u9FA5]+\");\r\n      var pattern2 = new RegExp(\"[A-Za-z0-9]+\");\r\n      if (arr.length > 1) {\r\n        if (pattern.test(arr[0][0])) {\r\n          res = arr[0][0];\r\n          return res;\r\n        } else if (pattern2.test(arr[0][0])) {\r\n          if (pattern2.test(arr[1][0])) {\r\n            res = arr[0][0] + arr[1][0];\r\n          } else if (pattern.test(arr[1][0])) {\r\n            res = arr[0][0] + arr[0][1];\r\n          }\r\n          if (res != null && res != \"\" && typeof res == \"string\") {\r\n            return res.toUpperCase();\r\n          } else {\r\n            return \"\";\r\n          }\r\n        }\r\n      } else if (arr.length == 1) {\r\n        if (pattern.test(arr[0][0])) {\r\n          res = arr[0][0];\r\n          return res;\r\n        } else if (pattern2.test(arr[0][0])) {\r\n          if (pattern2.test(arr[0][1])) {\r\n            res = arr[0][0] + arr[0][1];\r\n            if (res != null && res != \"\" && typeof res == \"string\") {\r\n              return res.toUpperCase();\r\n            } else {\r\n              return \"\";\r\n            }\r\n          } else if (pattern.test(arr[0][1])) {\r\n            res = arr[0][1];\r\n            if (res != null && res != \"\" && typeof res == \"string\") {\r\n              return res.toUpperCase();\r\n            } else {\r\n              return \"\";\r\n            }\r\n          }\r\n        }\r\n      }\r\n    } else {\r\n      return \"\";\r\n    }\r\n  }\r\n\r\n  Guid() {\r\n    return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(\r\n      /[xy]/g,\r\n      function (c) {\r\n        let r = (Math.random() * 16) | 0,\r\n          v = c == \"x\" ? r : (r & 0x3) | 0x8;\r\n        return v.toString(16);\r\n      }\r\n    );\r\n  }\r\n}\r\n","import { AfterViewInit, Component, Inject } from \"@angular/core\";\r\nimport { MAT_SNACK_BAR_DATA, MatSnackBar } from \"@angular/material/snack-bar\";\r\n\r\nexport type LoadingProgress = {\r\n\tdone: boolean;\r\n\tpercent?: number;\r\n};\r\n\r\nexport interface NotificationConfig  {\r\n\tmessage: string;\r\n\tsnackBar: MatSnackBar;\r\n\tloadingCallback: (callback: (progress: LoadingProgress) => void) => void;\r\n\tstatus?: \"Success\" | \"Warning\" | \"Error\";\r\n\ttype?: \"Text\" | \"Detail\" | \"Loading\" | \"Progress\";\r\n\ttitle?: string;\r\n};\r\n\r\n@Component({\r\n\tselector: \"kt-new-action-notification\",\r\n\ttemplateUrl: \"./new-action-notification.component.html\",\r\n\tstyleUrls: [\"./new-action-notification.component.scss\"],\r\n})\r\nexport class NewActionNotificationComponent implements AfterViewInit {\r\n\tcollapsed = false;\r\n\r\n\tconstructor(\r\n\t\t@Inject(MAT_SNACK_BAR_DATA)\r\n\t\tpublic data: NotificationConfig\r\n\t) {}\r\n\r\n\tngAfterViewInit() {\r\n\t\tif (this.config.type === \"Loading\") {\r\n\t\t\tthis.config.loadingCallback((progress) => {\r\n\t\t\t\tif (progress.done) {\r\n\t\t\t\t\treturn this.config.snackBar.dismiss();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tcloseNotification() {\r\n\t\tif (this.config.type === \"Loading\") {\r\n\t\t\tthis.collapsed = true;\r\n\t\t} else {\r\n\t\t\tthis.config.snackBar.dismiss();\r\n\t\t}\r\n\t}\r\n\r\n\texpandNotification() {\r\n\t\tif (this.config.type === \"Loading\" && this.collapsed) {\r\n\t\t\tthis.collapsed = false;\r\n\t\t}\r\n\t}\r\n\r\n\tget config() {\r\n\t\treturn {\r\n\t\t\tstatus: \"Success\",\r\n\t\t\ttype: \"Text\",\r\n\t\t\t...this.data,\r\n\t\t};\r\n\t}\r\n}\r\n","<div class=\"new-action-notification-container\" [attr.data-collapse]=\"collapsed\">\r\n\t<span\r\n\t\tclass=\"notification-icon\"\r\n\t\t[attr.data-type]=\"config.type === 'Loading' ? 'loading' : 'default'\"\r\n\t\t[attr.data-status]=\"config.status?.toLowerCase()\"\r\n\t\t(click)=\"expandNotification()\"\r\n\t></span>\r\n\t<span\r\n\t\tclass=\"notification-icon notification-loading\"\r\n\t\t*ngIf=\"config.type === 'Progress'\"\r\n\t></span>\r\n\t<div class=\"notification-content\">\r\n\t\t<span *ngIf=\"config.type === 'Detail'\" class=\"notification-title\">\r\n\t\t\t{{ config.title }}\r\n\t\t</span>\r\n\t\t<span class=\"notification-text\">{{ config.message }}</span>\r\n\t\t<a *ngIf=\"config.type === 'Detail'\" class=\"notification-link\">View</a>\r\n\t</div>\r\n\t<button\r\n\t\ttype=\"button\"\r\n\t\tclass=\"notification-close\"\r\n\t\t[attr.data-type]=\"config.type === 'Loading' ? 'loading' : 'default'\"\r\n\t\t(click)=\"closeNotification()\"\r\n\t></button>\r\n</div>\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  Input,\r\n  ContentChild,\r\n  Output,\r\n  EventEmitter,\r\n} from \"@angular/core\";\r\n\r\nimport { MatDialogRef } from \"@angular/material/dialog\";\r\n\r\n@Component({\r\n  selector: \"rs-common-dialog\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n  templateUrl: \"./index.component.html\",\r\n})\r\nexport class CommonDialogComponent implements OnInit {\r\n  public translation;\r\n\r\n  // 隐藏元素相关属性\r\n  @Input() hideHeader = false;\r\n  @Input() hideCloseIcon = false;\r\n  @Input() hideCloseBtn = false;\r\n  @Input() hideSaveBtn = false;\r\n  @Input() hideDiscardBtn = true;\r\n  @Input() saveBtnLabel = \"\";\r\n  @Input() cancelBtnLabel = \"\";\r\n  @Input() discardBtnLabel = \"\";\r\n  @Input() showErrorIcon = false;\r\n  @Input() showZoomBtn = false;\r\n  @Input() customSave = false;\r\n  @Input() customPageTitle = false;\r\n\r\n  // 关闭前的回调函数\r\n  @Input() onCloseRequest: Function;\r\n\r\n  // 显示相关属性\r\n  @Input() dialogStyle = {};\r\n  @Input() size = \"\";\r\n  @Input() title = \"Dialog\";\r\n  @Input() loading = false;\r\n  @Output() saveEmit: EventEmitter<Function> = new EventEmitter<Function>();\r\n  @Output() closeEmit: EventEmitter<Function> = new EventEmitter<Function>();\r\n\r\n  defaultSize: string = \"\";\r\n  constructor(public dialogRef: MatDialogRef<CommonDialogComponent>) {}\r\n\r\n  // 控制底部插槽有内容时隐藏默认按钮\r\n  @ContentChild(\"footerSlot\", { static: false }) footerContent: any;\r\n  customFooter: boolean = false;\r\n  ngAfterContentInit() {\r\n    this.customFooter = !!this.footerContent;\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.getInfo();\r\n  }\r\n\r\n  onClose() {\r\n    if (this.onCloseRequest) {\r\n      this.onCloseRequest().then((confirmed) => {\r\n        if (confirmed) {\r\n          this.dialogRef.close(\"close\");\r\n        }\r\n      });\r\n    } else {\r\n      this.dialogRef.close(\"close\");\r\n    }\r\n  }\r\n\r\n  onZoom() {\r\n    if (this.size === \"largest\") {\r\n      this.size = this.defaultSize; // 恢复到原始大小\r\n    } else {\r\n      this.size = \"largest\"; // 设置为最大化\r\n    }\r\n  }\r\n\r\n  onSave() {\r\n    if (this.customSave) {\r\n      this.saveEmit.emit();\r\n    } else {\r\n      this.dialogRef.close(\"save\");\r\n    }\r\n  }\r\n\r\n  onDiscard() {\r\n    this.dialogRef.close(\"discard\");\r\n  }\r\n\r\n  private getInfo() {\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\")) || {};\r\n    this.saveBtnLabel = this.saveBtnLabel || this.translation.SAVE || \".SAVE\";\r\n    this.cancelBtnLabel =\r\n      this.cancelBtnLabel || this.translation.CANCEL || \".CANCEL\";\r\n    this.defaultSize = this.size;\r\n  }\r\n}\r\n","<div class=\"dialog\" [ngClass]=\"size\" [ngStyle]=\"dialogStyle\">\r\n  <!-- 头部 -->\r\n  <div *ngIf=\"!hideHeader\" mat-dialog-title class=\"dialog__header\">\r\n    <ng-container *ngIf=\"customPageTitle; else defaultTitle\">\r\n      <ng-content select=\"[titleSlot]\"></ng-content>\r\n    </ng-container>\r\n    <ng-template #defaultTitle>\r\n      <div class=\"header__title\">\r\n        <img\r\n          src=\"../../../assets/img/notification-status-warning.svg\"\r\n          alt=\"\"\r\n          *ngIf=\"showErrorIcon\"\r\n        />\r\n        {{ title }}\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"header__actions\">\r\n      <div *ngIf=\"showZoomBtn\" class=\"header-btn\" (click)=\"onZoom()\">\r\n        <img\r\n          class=\"header-icon\"\r\n          *ngIf=\"size === 'largest'\"\r\n          src=\"../../../assets/img/dialog-shrink.svg\"\r\n        />\r\n        <img\r\n          class=\"header-icon\"\r\n          *ngIf=\"size !== 'largest'\"\r\n          src=\"../../../assets/img/dialog-grow.svg\"\r\n        />\r\n      </div>\r\n      <div *ngIf=\"!hideCloseIcon\" class=\"header-btn\" (click)=\"onClose()\">\r\n        <img class=\"header-icon\" src=\"../../../assets/img/dialog-close.svg\" />\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <!-- 内容 -->\r\n  <div class=\"dialog__content\" mat-dialog-content>\r\n    <ng-content></ng-content>\r\n  </div>\r\n  <!-- 底部按钮 -->\r\n  <div mat-dialog-actions class=\"dialog__footer\">\r\n    <ng-content select=\"[footerSlot]\"></ng-content>\r\n    <!-- 默认展示保存/关闭按钮 -->\r\n    <ng-container *ngIf=\"!customFooter\">\r\n      <ng-template [ngTemplateOutlet]=\"defaultTemplate\"></ng-template>\r\n    </ng-container>\r\n    <ng-template #defaultTemplate>\r\n      <button *ngIf=\"!hideCloseBtn\" class=\"e-btn\" (click)=\"onClose()\">\r\n        {{ cancelBtnLabel }}\r\n      </button>\r\n      <button *ngIf=\"!hideDiscardBtn\" class=\"e-btn\" (click)=\"onDiscard()\">\r\n        {{ discardBtnLabel }}\r\n      </button>\r\n      <button *ngIf=\"!hideSaveBtn\" class=\"e-btn e-primary\" (click)=\"onSave()\">\r\n        {{ saveBtnLabel }}\r\n      </button>\r\n    </ng-template>\r\n  </div>\r\n  <!-- loading -->\r\n  <div class=\"dialog__loading\" [hidden]=\"!loading\">\r\n    <img src=\"../../../assets/img/raise_loading.gif\" alt=\"\" />\r\n  </div>\r\n</div>\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\n\r\nexport interface DialogConfig {\r\n  title?: string;\r\n  description?: string | string[];\r\n  saveBtnLabel?: string;\r\n  cancelBtnLabel?: string;\r\n  discardBtnLabel?: string;\r\n  showErrorIcon?: boolean;\r\n  hideCloseIcon?: boolean;\r\n  size?: string;\r\n  hideSaveBtn?: boolean;\r\n  hideCloseBtn?: boolean;\r\n  hideDiscardBtn?: boolean;\r\n  showZoomBtn?: boolean;\r\n\r\n  onCloseRequest?: (e: any) => Promise<boolean>;\r\n}\r\n@Component({\r\n  selector: \"kt-common-delete-dialog\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class CommonDeleteComponent implements OnInit {\r\n  translation;\r\n  title = \"\";\r\n  saveBtnLabel = \"\";\r\n  cancelBtnLabel = \"\";\r\n  discardBtnLabel = \"\";\r\n  description = \"\";\r\n  size = \"small\";\r\n  showZoomBtn = false;\r\n  isMultiLine = false;\r\n\r\n  constructor(\r\n    @Inject(MAT_DIALOG_DATA)\r\n    public data: DialogConfig,\r\n    public dialogRef: MatDialogRef<CommonDeleteComponent>\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\")) || {};\r\n    this.title =\r\n      this.data.title || this.translation[\"DELETE_RECORD\"] || \".DELETE_RECORD\";\r\n    this.saveBtnLabel =\r\n      this.data.saveBtnLabel || this.translation.DELETE || \".DELETE\";\r\n    this.cancelBtnLabel =\r\n      this.data.cancelBtnLabel || this.translation.CANCEL || \".CANCEL\";\r\n    this.discardBtnLabel = this.data.discardBtnLabel;\r\n    this.description =\r\n      this.data.description ||\r\n      this.translation.IF_YOU_DELETE_THIS_RECORD_WARNING ||\r\n      \".If you delete this record, you won't be able to recover it. Do you want to delete it?\";\r\n    this.size = this.data.size || \"small\";\r\n    this.showZoomBtn = this.data.showZoomBtn || false;\r\n    this.isMultiLine = Array.isArray(this.description);\r\n  }\r\n}\r\n","<rs-common-dialog\r\n  [size]=\"size\"\r\n  [title]=\"title\"\r\n  [hideHeader]=\"false\"\r\n  [hideCloseBtn]=\"data.hideCloseBtn === undefined ? false : data.hideCloseBtn\"\r\n  [hideSaveBtn]=\"data.hideSaveBtn === undefined ? false : data.hideSaveBtn\"\r\n  [hideDiscardBtn]=\"\r\n    data.hideDiscardBtn === undefined ? true : data.hideDiscardBtn\r\n  \"\r\n  [saveBtnLabel]=\"saveBtnLabel\"\r\n  [cancelBtnLabel]=\"cancelBtnLabel\"\r\n  [discardBtnLabel]=\"discardBtnLabel\"\r\n  [showErrorIcon]=\"\r\n    data.showErrorIcon === undefined ? false : data.showErrorIcon\r\n  \"\r\n  [hideCloseIcon]=\"\r\n    data.hideCloseIcon === undefined ? false : data.hideCloseIcon\r\n  \"\r\n\t[showZoomBtn]=\"data.showZoomBtn\"\r\n>\r\n  <div class=\"mapping-dialog\">\r\n    <div *ngIf=\"isMultiLine\">\r\n      <div *ngFor=\"let item of description\" class=\"description-item\">\r\n        {{ item }}\r\n      </div>\r\n    </div>\r\n    <div *ngIf=\"!isMultiLine\">\r\n      {{description}}\r\n    </div>\r\n  </div>\r\n</rs-common-dialog>\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\n\r\nimport {\r\n  NewActionNotificationComponent,\r\n  NotificationConfig,\r\n} from \"../dialog/new-action-notification/new-action-notification.component\";\r\n\r\nimport { CommonDeleteComponent } from \"../dialog/common-delete-dialog/index.component\";\r\n\r\nexport enum MessageType {\r\n  Create,\r\n  Read,\r\n  Update,\r\n  Delete,\r\n}\r\n\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class DialogService {\r\n  /**\r\n   * Service constructor\r\n   *\r\n   * @param snackBar: MatSnackBar\r\n   * @param dialog: MatDialog\r\n   */\r\n  translation = null;\r\n  constructor(private snackBar: MatSnackBar, private dialog: MatDialog) {\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\")) || {};\r\n  }\r\n\r\n  showLoadingNotification(\r\n    config: Omit<\r\n      NotificationConfig,\r\n      \"message\" | \"snackBar\" | \"status\" | \"type\"\r\n    > & { message?: string }\r\n  ) {\r\n    return this.snackBar.openFromComponent(NewActionNotificationComponent, {\r\n      data: {\r\n        ...config,\r\n        message:\r\n          config.message ||\r\n          this.translation.DOWNLOAD_IS_IN_PROGRESS ||\r\n          \".Download is in progress\",\r\n        snackBar: this.snackBar,\r\n        type: \"Loading\",\r\n      },\r\n      verticalPosition: \"top\",\r\n      horizontalPosition: \"right\",\r\n      panelClass: \"new-action-notification\",\r\n    });\r\n  }\r\n\r\n  showNotification(\r\n    message: string,\r\n    config?: Omit<\r\n      NotificationConfig,\r\n      \"message\" | \"snackBar\" | \"loadingCallback\" | \"type\"\r\n    > & {\r\n      duration?: number;\r\n      type?: Exclude<NotificationConfig[\"type\"], \"Loading\">;\r\n    }\r\n  ) {\r\n    return this.snackBar.openFromComponent(NewActionNotificationComponent, {\r\n      data: {\r\n        message,\r\n        snackBar: this.snackBar,\r\n        ...(config || {}),\r\n      },\r\n      duration: (config && config.duration) || 3000,\r\n      verticalPosition: \"top\",\r\n      horizontalPosition: \"right\",\r\n      panelClass: \"new-action-notification\",\r\n    });\r\n  }\r\n  // 删除确认弹窗\r\n  deleteElement() {\r\n    return this.dialog.open(CommonDeleteComponent, {\r\n      data: {},\r\n      panelClass: \"rs-dialog-wrap\",\r\n    });\r\n  }\r\n\r\n  // 自定义文案通用弹窗的提示框\r\n  showCommonDilaog(data?: {\r\n    title?: string;\r\n    description?: string | string[];\r\n    saveBtnLabel?: string;\r\n    cancelBtnLabel?: string;\r\n    showErrorIcon?: boolean;\r\n    size?: string;\r\n    hideSaveBtn?: boolean;\r\n    onCloseRequest?: (e: any) => Promise<boolean>;\r\n    showZoomBtn?: boolean;\r\n  }) {\r\n    return this.dialog.open(CommonDeleteComponent, {\r\n      data,\r\n      panelClass: \"rs-dialog-wrap\",\r\n    });\r\n  }\r\n\r\n  // 有改动未保存 的提示框\r\n  showUnsavedChanges(data?: {\r\n    title?: string;\r\n    description?: string;\r\n    saveBtnLabel?: string;\r\n    cancelBtnLabel?: string;\r\n    showErrorIcon?: boolean;\r\n    size?: string;\r\n    hideSaveBtn?: boolean;\r\n  }) {\r\n    let defaultData = {\r\n      title: this.translation.UNSAVED_CHANGES || \".UNSAVED_CHANGES\",\r\n      description:\r\n        this.translation.YOU_HAVE_UNSAVED_CHANGES_DO_YOU_WANT_TO_CONTINUE ||\r\n        \".YOU_HAVE_UNSAVED_CHANGES_DO_YOU_WANT_TO_CONTINUE\",\r\n      saveBtnLabel: this.translation.SAVE_AND_LEAVE || \".SAVE_AND_LEAVE\",\r\n      discardBtnLabel:\r\n        this.translation.DISCARD_AND_LEAVE || \".DISCARD_AND_LEAVE\",\r\n      cancelBtnLabel: this.translation.CANCEL || \".CANCEL\",\r\n      hideDiscardBtn: false,\r\n      size: \"medium\",\r\n      hideCloseIcon: true,\r\n    };\r\n    if (data) {\r\n      data = Object.assign(defaultData, data);\r\n    } else {\r\n      data = defaultData;\r\n    }\r\n    // data.size = \"medium\";\r\n    return this.dialog.open(CommonDeleteComponent, {\r\n      data,\r\n      panelClass: \"rs-dialog-wrap\",\r\n    });\r\n  }\r\n\r\n  // 保存成功提示\r\n  public showSucMsg(res) {\r\n    this.showMessage(res, MessageType.Create);\r\n  }\r\n\r\n  // 更新成功提示\r\n  public showUpdateMsg(res) {\r\n    this.showMessage(res, MessageType.Update);\r\n  }\r\n\r\n  // 删除成功提示\r\n  public showDelMsg(res) {\r\n    this.showMessage(res, MessageType.Delete);\r\n  }\r\n\r\n  // 通用提示\r\n  private showMessage(res, type = MessageType.Create) {\r\n    let _saveMessage = this.translation.SAVESUCCESS || \".SAVESUCCESS\";\r\n    switch (type) {\r\n      case MessageType.Update:\r\n        _saveMessage = this.translation.UPDATESUCCESS || \".UPDATESUCCESS\";\r\n        break;\r\n      case MessageType.Delete:\r\n        _saveMessage = this.translation.DELETESUCCESS || \".DELETESUCCESS\";\r\n        break;\r\n    }\r\n    if (res.status === \"ERROR\") _saveMessage = res.messages[0].message;\r\n    this.showNotification(_saveMessage, {\r\n      status: res.status === \"ERROR\" ? \"Error\" : \"Success\",\r\n    });\r\n  }\r\n}\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n\tselector: \"truncated-text-toggle\",\r\n\ttemplateUrl: \"./index.component.html\",\r\n\tstyleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class TruncatedTextToggleComponent implements OnInit {\r\n\t@Input() data: string;\r\n\t@Input() maximum: number;\r\n\tshowData: string = \"\";\r\n\tshowExpandMoreBtn: boolean = false;\r\n\tshowCollapseBtn: boolean = false;\r\n\r\n\tconstructor() {}\r\n\r\n\tngOnInit() {\r\n\t\tif (this.data.length > this.maximum) {\r\n\t\t\tthis.showExpandMoreBtn = true;\r\n\t\t\tthis.showData = this.data.substring(0, this.maximum) + \"...\";\r\n\t\t} else {\r\n\t\t\tthis.showData = this.data;\r\n\t\t}\r\n\t}\r\n\r\n\tshowAll() {\r\n\t\tthis.showExpandMoreBtn = false;\r\n\t\tthis.showCollapseBtn = true;\r\n\t\tthis.showData = this.data;\r\n\t}\r\n\r\n\tcollapse() {\r\n\t\tthis.showExpandMoreBtn = true;\r\n\t\tthis.showCollapseBtn = false;\r\n\t\tthis.showData = this.data.substring(0, this.maximum) + \"...\";\r\n\t}\r\n}\r\n","<div class=\"click-show-more-content\">\r\n  <span>{{ showData }}</span>\r\n  <span *ngIf=\"showExpandMoreBtn\" class=\"show-more\" (click)=\"showAll()\">\r\n    Read More\r\n    <img src=\"./assets/img/click_show_more_icon.svg\" alt=\"\" />\r\n  </span>\r\n  <div\r\n    class=\"show-more collapse-btn\"\r\n    (click)=\"collapse()\"\r\n    *ngIf=\"showCollapseBtn\"\r\n  >\r\n    Collapse\r\n    <img src=\"./assets/img/click_show_more_icon.svg\" alt=\"\" />\r\n  </div>\r\n</div>\r\n","// 组件类\r\nimport {\r\n  ChangeDetectorRef,\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n} from \"@angular/core\";\r\nimport { CommonFunctionService } from \"../service/common-function.service\";\r\nimport { DialogService } from \"../service/dialog.service\";\r\nimport { Debounce } from \"../utils/decorator\";\r\nimport { MessageGroup } from \"./constants\";\r\n\r\n@Component({\r\n  selector: \"rs-commentary\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class RsCommentaryComponent implements OnInit {\r\n  constructor(\r\n    public cf: CommonFunctionService,\r\n    private dialog: DialogService,\r\n    private ref: ChangeDetectorRef\r\n  ) {}\r\n\r\n  @Input() displayName: string;\r\n  @Input() commentData: MessageGroup[] = [];\r\n  @Input() editPermission = true; // edit权限\r\n  @Input() deletePermission = true; // delete权限\r\n  @Input() isReadOnly = false;\r\n  @Input() filedsKey = {\r\n    commentaries: \"commentaries\",\r\n    messageId: \"messageId\",\r\n    ownerName: \"ownerName\",\r\n    lastModifiedOn: \"lastModifiedOn\",\r\n    messageBody: \"messageBody\",\r\n  };\r\n  @Input() dateTimePipeFormat = \"dd-MMM-yyyy hh:mm:a\";\r\n\r\n  @Output()\r\n  actionComplete = new EventEmitter<{\r\n    action: \"addComment\" | \"updateComment\" | \"deleteComment\" | \"replyComment\";\r\n    data: any;\r\n    callback: (result: { messageId: string }) => void;\r\n  }>();\r\n\r\n  commentVal = \"\";\r\n  replyVal = \"\";\r\n  editCommentVal = \"\";\r\n  translation;\r\n  ngOnInit() {\r\n    this.getInfo();\r\n  }\r\n\r\n  getInfo() {\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\"));\r\n  }\r\n\r\n  @Debounce(300)\r\n  addComment() {\r\n    this.actionComplete.emit({\r\n      action: \"addComment\",\r\n      data: { inputValue: this.commentVal },\r\n      callback: (res) => {\r\n        this.commentData.unshift({\r\n          [`${this.filedsKey[\"messageId\"]}`]: res.messageId,\r\n          [`${this.filedsKey[\"commentaries\"]}`]: [],\r\n          [`${this.filedsKey[\"ownerName\"]}`]: this.displayName,\r\n          [`${this.filedsKey[\"lastModifiedOn\"]}`]: Date.now(),\r\n          [`${this.filedsKey[\"messageBody\"]}`]: this.commentVal,\r\n        });\r\n        this.commentVal = \"\";\r\n      },\r\n    });\r\n  }\r\n\r\n  editComment(item) {\r\n    this.editCommentVal = item[this.filedsKey[\"messageBody\"]];\r\n    item.showCommentEdit = true;\r\n  }\r\n  async updateComment(item) {\r\n    this.actionComplete.emit({\r\n      action: \"updateComment\",\r\n      data: { ...item, inputValue: this.editCommentVal },\r\n      callback: (res) => {\r\n        item[this.filedsKey[\"messageBody\"]] = this.editCommentVal;\r\n        item.showCommentEdit = false;\r\n        this.ref.markForCheck();\r\n      },\r\n    });\r\n  }\r\n\r\n  @Debounce(300)\r\n  deleteComment(item) {\r\n    const dialogRef = this.dialog.showCommonDilaog({\r\n      title: this.translation[\"DELETE_COMMENT\"],\r\n      description: this.translation[\"DELETE_COMMENT_CONFIRM\"],\r\n      saveBtnLabel: this.translation.DELETE,\r\n    });\r\n    dialogRef.afterClosed().subscribe((res) => {\r\n      if (res === \"close\") {\r\n        return;\r\n      }\r\n      const idx = this.commentData.findIndex(\r\n        (ele) =>\r\n          ele[this.filedsKey.messageId] === item[this.filedsKey.messageId]\r\n      );\r\n\r\n      this.actionComplete.emit({\r\n        action: \"deleteComment\",\r\n        data: item,\r\n        callback: (res) => {\r\n          this.commentData.splice(idx, 1);\r\n          this.ref.detectChanges();\r\n          this.ref.markForCheck();\r\n        },\r\n      });\r\n    });\r\n  }\r\n  @Debounce(300)\r\n  addReply(item) {\r\n    this.actionComplete.emit({\r\n      action: \"replyComment\",\r\n      data: { ...item, inputValue: this.replyVal },\r\n      callback: (res) => {\r\n        item[this.filedsKey[\"commentaries\"]].unshift({\r\n          [`${this.filedsKey[\"messageId\"]}`]: res[this.filedsKey[\"messageId\"]],\r\n          [`${this.filedsKey[\"commentaries\"]}`]: [],\r\n          [`${this.filedsKey[\"ownerName\"]}`]: this.displayName,\r\n          [`${this.filedsKey[\"lastModifiedOn\"]}`]: Date.now(),\r\n          [`${this.filedsKey[\"messageBody\"]}`]: this.replyVal,\r\n        });\r\n        this.replyVal = \"\";\r\n        item.showReplyInput = false;\r\n        this.ref.detectChanges();\r\n        this.ref.markForCheck();\r\n      },\r\n    });\r\n  }\r\n\r\n  @Debounce(100)\r\n  adjustTextareaHeight(e) {\r\n    const textarea = e.target;\r\n    if (e.type === \"focus\" && textarea.value) {\r\n      textarea.style.height = \"auto\";\r\n      textarea.style.height = textarea.scrollHeight + \"px\";\r\n    } else if (e.type === \"input\") {\r\n      textarea.style.height = \"auto\";\r\n      textarea.style.height = textarea.scrollHeight + \"px\";\r\n    }\r\n  }\r\n}\r\n","<div class=\"rs-commentary-wrap\">\r\n  <ng-container\r\n    [ngTemplateOutlet]=\"commentBoxTemplate\"\r\n    [ngTemplateOutletContext]=\"{ type: 'comment' }\"\r\n  ></ng-container>\r\n  <div class=\"reply-box\">\r\n    <div *ngFor=\"let item of commentData\">\r\n      <ng-container\r\n        [ngTemplateOutlet]=\"replyItemTemplate\"\r\n        [ngTemplateOutletContext]=\"{ type: 'comment', item: item }\"\r\n      ></ng-container>\r\n      <div class=\"sub-reply-list\">\r\n        <ng-container\r\n          *ngFor=\"\r\n            let sub of item.isExpanded\r\n              ? item[filedsKey.commentaries]\r\n              : item[filedsKey.commentaries].slice(0, 3)\r\n          \"\r\n          [ngTemplateOutlet]=\"replyItemTemplate\"\r\n          [ngTemplateOutletContext]=\"{ type: 'sub', item: sub }\"\r\n        ></ng-container>\r\n      </div>\r\n      <button\r\n        class=\"e-btn text\"\r\n        *ngIf=\"item[filedsKey.commentaries].length > 3\"\r\n        (click)=\"item.isExpanded = !item.isExpanded\"\r\n        style=\"margin-bottom: 8px\"\r\n      >\r\n        {{\r\n          item.isExpanded\r\n            ? \"Collapse\"\r\n            : \"View All \" + item[filedsKey.commentaries].length + \" Replies\"\r\n        }}\r\n        <img\r\n          class=\"arrow\"\r\n          [ngClass]=\"{ collapse: item.isExpanded }\"\r\n          src=\"../../assets/img/dropdown-arrow.svg\"\r\n          alt=\"\"\r\n        />\r\n      </button>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<ng-template #commentBoxTemplate let-type=\"type\" let-item=\"item\">\r\n  <div class=\"comment-box\">\r\n    <div class=\"comment-input-wrap\">\r\n      <div class=\"avatar\" *ngIf=\"type !== 'editComment'\">\r\n        {{ cf.rtn(displayName) }}\r\n      </div>\r\n      <textarea\r\n        *ngIf=\"type === 'comment'\"\r\n        class=\"e-input\"\r\n        rows=\"3\"\r\n        [(ngModel)]=\"commentVal\"\r\n        (input)=\"adjustTextareaHeight($event)\"\r\n        (focus)=\"adjustTextareaHeight($event)\"\r\n        [disabled]=\"isReadOnly || !editPermission\"\r\n        [placeholder]=\"translation.WRITE_YOUR_COMMENT || '.WRITE_YOUR_COMMENT'\"\r\n      ></textarea>\r\n      <textarea\r\n        *ngIf=\"type === 'reply'\"\r\n        class=\"e-input\"\r\n        rows=\"3\"\r\n        [(ngModel)]=\"replyVal\"\r\n        (input)=\"adjustTextareaHeight($event)\"\r\n        (focus)=\"adjustTextareaHeight($event)\"\r\n        [placeholder]=\"translation.WRITE_YOUR_COMMENT || '.WRITE_YOUR_COMMENT'\"\r\n      ></textarea>\r\n      <textarea\r\n        *ngIf=\"type === 'editComment'\"\r\n        class=\"e-input\"\r\n        rows=\"3\"\r\n        [(ngModel)]=\"editCommentVal\"\r\n        (input)=\"adjustTextareaHeight($event)\"\r\n        (focus)=\"adjustTextareaHeight($event)\"\r\n        [placeholder]=\"translation.WRITE_YOUR_COMMENT || '.WRITE_YOUR_COMMENT'\"\r\n      ></textarea>\r\n    </div>\r\n    <div class=\"btn-wrap\">\r\n      <button\r\n        *ngIf=\"type === 'comment'\"\r\n        class=\"e-btn e-primary small\"\r\n        [disabled]=\"commentVal === '' || isReadOnly || !editPermission\"\r\n        (click)=\"addComment()\"\r\n      >\r\n        {{ translation.COMMENT || \".COMMENT\" }}\r\n      </button>\r\n      <ng-container *ngIf=\"type === 'reply'\">\r\n        <button\r\n          class=\"e-btn small\"\r\n          (click)=\"item.showReplyInput = false; replyVal = ''\"\r\n        >\r\n          {{ translation.CANCEL || \".CANCEL\" }}\r\n        </button>\r\n        <button\r\n          class=\"e-btn e-primary small\"\r\n          [disabled]=\"replyVal === ''\"\r\n          (click)=\"addReply(item)\"\r\n        >\r\n          {{ translation.REPLY || \".REPLY\" }}\r\n        </button>\r\n      </ng-container>\r\n      <ng-container *ngIf=\"type === 'editComment'\">\r\n        <button class=\"e-btn text\" (click)=\"item.showCommentEdit = false\">\r\n          <img src=\"../../assets/img/comment-cancel.svg\" alt=\"\" />\r\n        </button>\r\n        <button\r\n          class=\"e-btn text\"\r\n          [disabled]=\"editCommentVal === ''\"\r\n          (click)=\"updateComment(item)\"\r\n        >\r\n          <img src=\"../../assets/img/comment-check.svg\" alt=\"\" />\r\n        </button>\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n<ng-template #replyItemTemplate let-type=\"type\" let-item=\"item\">\r\n  <div class=\"reply-item\" [ngClass]=\"{ comment: type === 'comment' }\">\r\n    <div class=\"avatar\">\r\n      {{ cf.rtn(item[filedsKey.ownerName]) }}\r\n    </div>\r\n    <div class=\"owner-wrap\">\r\n      <div class=\"owner-info\">\r\n        <div class=\"name\">\r\n          {{ item[filedsKey.ownerName] }}\r\n        </div>\r\n        <div class=\"time\">\r\n          {{ item[filedsKey.lastModifiedOn] | date : dateTimePipeFormat }}\r\n        </div>\r\n      </div>\r\n      <div class=\"message-wrap\">\r\n        <div class=\"message\" *ngIf=\"!item.showCommentEdit\">\r\n          <!-- {{ item[filedsKey.messageBody] }} -->\r\n          <truncated-text-toggle\r\n            [maximum]=\"1050\"\r\n            [data]=\"item[filedsKey.messageBody]\"\r\n          >\r\n          </truncated-text-toggle>\r\n        </div>\r\n        <ng-container\r\n          *ngIf=\"item.showCommentEdit\"\r\n          [ngTemplateOutlet]=\"commentBoxTemplate\"\r\n          [ngTemplateOutletContext]=\"{ type: 'editComment', item: item }\"\r\n        ></ng-container>\r\n      </div>\r\n\r\n      <button\r\n        *ngIf=\"\r\n          type === 'comment' && !item.showReplyInput && !item.showCommentEdit\r\n        \"\r\n        class=\"e-btn text\"\r\n        (click)=\"item.showReplyInput = true\"\r\n        [disabled]=\"isReadOnly || !editPermission\"\r\n      >\r\n        {{ translation.REPLY || \".REPLY\" }}\r\n      </button>\r\n      <ng-container\r\n        *ngIf=\"item.showReplyInput\"\r\n        [ngTemplateOutlet]=\"commentBoxTemplate\"\r\n        [ngTemplateOutletContext]=\"{ type: 'reply', item: item }\"\r\n      ></ng-container>\r\n\r\n      <rs-grid-action *ngIf=\"type === 'comment' && (!item.editDisabled || !item.deleteDisabled)\">\r\n        <rs-grid-action-item\r\n          image=\"Edit\"\r\n          [text]=\"translation.EDIT\"\r\n          [disabled]=\"isReadOnly || !editPermission || item.editDisabled\"\r\n          (click)=\"editComment(item)\"\r\n        ></rs-grid-action-item>\r\n        <rs-grid-action-item\r\n          image=\"Delete\"\r\n          [text]=\"translation.DELETE\"\r\n          [disabled]=\"isReadOnly || !deletePermission || item.deleteDisabled\"\r\n          (click)=\"deleteComment(item)\"\r\n        ></rs-grid-action-item>\r\n      </rs-grid-action>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n","import { Directive } from \"@angular/core\";\r\n\r\n/** 与 ng-content select=\"[leftContentSlot]\" 配套（如 rs-page-list），供 ContentChild 检测 */\r\n@Directive({\r\n  selector: \"[leftContentSlot]\",\r\n})\r\nexport class RsLeftContentSlotDirective {}\r\n\r\n/** 与 ng-content select=\"[wholeToolbarSlot]\" 配套（如 rs-page-list、rs-grid-box），供 ContentChild 检测 */\r\n@Directive({\r\n  selector: \"[wholeToolbarSlot]\",\r\n})\r\nexport class RsWholeToolbarSlotDirective {}\r\n","// 组件类\r\nimport { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { debounce } from \"lodash\";\r\n\r\n@Component({\r\n  selector: \"rs-search-input\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class SearchInputComponent implements OnInit {\r\n  constructor() {}\r\n  @Input()\r\n  placeholder = \"\";\r\n  @Output()\r\n  hanleSearch = new EventEmitter();\r\n  @Output()\r\n  handleInput = new EventEmitter();\r\n  private debouncedInput: Function;\r\n  searchValue = \"\";\r\n  translation;\r\n\r\n  ngOnInit() {\r\n    this.getInfo();\r\n    this.debouncedInput = debounce(() => {\r\n      this.onSeach();\r\n    }, 300);\r\n  }\r\n\r\n  getInfo() {\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\"));\r\n    this.placeholder = this.placeholder || this.translation.SEARCH;\r\n  }\r\n  onInput(e) {\r\n    this.handleInput.emit(e.value);\r\n    this.debouncedInput();\r\n  }\r\n\r\n  onSeach() {\r\n    this.hanleSearch.emit(this.searchValue);\r\n  }\r\n}\r\n","<div class=\"rs-search-input\">\r\n  <ejs-textbox\r\n    type=\"text\"\r\n    class=\"e-input\"\r\n    [(ngModel)]=\"searchValue\"\r\n    (input)=\"onInput($event)\"\r\n    [placeholder]=\"placeholder\"\r\n    [showClearButton]=\"true\"\r\n    autocomplete=\"off\"\r\n  ></ejs-textbox>\r\n</div>\r\n","// 组件类\r\nimport {\r\n  AfterContentInit,\r\n  Component,\r\n  ContentChild,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  ViewChild,\r\n} from \"@angular/core\";\r\nimport { CommonGridComponent } from \"../../common-grid/index.component\";\r\nimport { GridComponent } from \"@syncfusion/ej2-angular-grids\";\r\nimport { TreeGridComponent } from \"@syncfusion/ej2-angular-treegrid\";\r\nimport { SearchInputComponent } from \"../../form/search-input/index.component\";\r\nimport {\r\n  RsLeftContentSlotDirective,\r\n  RsWholeToolbarSlotDirective,\r\n} from \"../layout-content-slots.directives\";\r\n\r\n@Component({\r\n  selector: \"rs-page-list\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class RsPageListComponent implements OnInit, AfterContentInit {\r\n  @ContentChild(CommonGridComponent, { static: false }) gridContent;\r\n  @ContentChild(GridComponent, { static: false }) orignGrid;\r\n  @ContentChild(TreeGridComponent, { static: false }) treeGrid;\r\n  @ContentChild(RsWholeToolbarSlotDirective, { static: false })\r\n  wholeToolbarSlot: RsWholeToolbarSlotDirective;\r\n  @ViewChild(\"searchInput\", { static: false })\r\n  searchInput: SearchInputComponent;\r\n  @ContentChild(RsLeftContentSlotDirective, { static: false })\r\n  leftContentSlot: RsLeftContentSlotDirective;\r\n  @Input() pageTitle;\r\n  @Input() customPageTitle = false;\r\n  @Input() hideSearch = false;\r\n  @Input() isInner = false;\r\n  @Output() onGridSearch = new EventEmitter();\r\n\r\n  hasWholeToolbarSlot: boolean = false;\r\n  hasLeftContentSlot: boolean = false;\r\n  translation;\r\n\r\n  ngOnInit() {\r\n    this.getInfo();\r\n  }\r\n  getInfo() {\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\"));\r\n  }\r\n\r\n  ngAfterContentInit() {\r\n    // 检测是否传入了 wholeToolbarSlot\r\n    this.hasWholeToolbarSlot = !!this.wholeToolbarSlot;\r\n    this.hasLeftContentSlot = !!this.leftContentSlot;\r\n  }\r\n\r\n  setSearchValue(value) {\r\n    this.searchInput.searchValue = value;\r\n    this.onSeach(value);\r\n  }\r\n\r\n  onSeach(value) {\r\n    if (this.gridContent) {\r\n      this.gridContent.grid.search(value);\r\n    } else if (this.orignGrid) {\r\n      this.orignGrid.search(value);\r\n    } else if (this.treeGrid) {\r\n      this.treeGrid.search(value);\r\n    } else {\r\n      this.onGridSearch.emit(value);\r\n    }\r\n  }\r\n}\r\n","<div class=\"rs-page-list-wrap\" [ngClass]=\"{ 'is-not-inner': !isInner }\">\r\n  <ng-container *ngIf=\"customPageTitle; else defaultTitle\">\r\n    <ng-content select=\"[titleSlot]\"></ng-content>\r\n  </ng-container>\r\n  <ng-template #defaultTitle>\r\n    <div class=\"rs-page-title\" *ngIf=\"pageTitle\">{{ pageTitle }}</div>\r\n  </ng-template>\r\n  <div class=\"rs-sub-section\">\r\n    <ng-content select=\"[subSectionSlot]\"></ng-content>\r\n  </div>\r\n  <div\r\n    class=\"rs-content-wrap\"\r\n    [ngClass]=\"{ 'has-left-content': hasLeftContentSlot }\"\r\n  >\r\n    <div class=\"rs-left-content\" *ngIf=\"hasLeftContentSlot\">\r\n      <ng-content select=\"[leftContentSlot]\"></ng-content>\r\n    </div>\r\n    <div class=\"rs-right-content\">\r\n      <div class=\"rs-content-tab\">\r\n        <ng-content select=\"[contentTabSlot]\"></ng-content>\r\n      </div>\r\n      <div class=\"rs-toolbar-wrap\">\r\n        <div class=\"rs-whole-bar\" *ngIf=\"hasWholeToolbarSlot\">\r\n          <ng-content select=\"[wholeToolbarSlot]\"></ng-content>\r\n        </div>\r\n        <div class=\"rs-left-col\" *ngIf=\"!hasWholeToolbarSlot\">\r\n          <ng-content select=\"[leftToolbarBtnSlot]\"></ng-content>\r\n        </div>\r\n        <div class=\"rs-right-col\" *ngIf=\"!hasWholeToolbarSlot\">\r\n          <ng-content select=\"[rightToolbarBtnSlot]\"></ng-content>\r\n          <rs-search-input\r\n            #searchInput\r\n            *ngIf=\"!hideSearch\"\r\n            [placeholder]=\"translation.SEARCH_ALL_FIELD\"\r\n            (hanleSearch)=\"onSeach($event)\"\r\n          ></rs-search-input>\r\n        </div>\r\n      </div>\r\n      <div class=\"rs-grid-wrap\">\r\n        <ng-content select=\"[gridSlot]\"></ng-content>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","// 组件类\r\nimport {\r\n  AfterViewInit,\r\n  Component,\r\n  ContentChild,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  ViewChild,\r\n} from \"@angular/core\";\r\nimport { TabComponent } from \"@syncfusion/ej2-angular-navigations\";\r\n\r\n@Component({\r\n  selector: \"rs-page-tab\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class RsPageTabComponent implements OnInit, AfterViewInit {\r\n  @ViewChild(\"tabObj\", { static: false })\r\n  public tabObj: TabComponent;\r\n  @Input() pageTitle;\r\n  @Input() customPageTitle = false;\r\n  @Input() tabList = [];\r\n  @Input() currentTab;\r\n\r\n  @Output()\r\n  tabChange = new EventEmitter();\r\n  selectedItemIndex = 0;\r\n\r\n  public animation: object = {\r\n    previous: { effect: \"\", duration: 0, easing: \"\" },\r\n    next: { effect: \"\", duration: 0, easing: \"\" },\r\n  };\r\n  ngOnInit() {}\r\n\r\n  ngAfterViewInit(): void {\r\n    if (this.currentTab !== undefined) {\r\n      const idx = this.tabList.findIndex(\r\n        (ele) => ele.value === this.currentTab\r\n      );\r\n      setTimeout(() => {\r\n        this.tabObj.select(idx);\r\n      }, 30);\r\n    }\r\n  }\r\n  onTabClick(e) {\r\n    const index = e.selectedItem.dataset.id.split('_')[1] // sy的bug只能这么取了\r\n    if (e.isInteracted) {\r\n      this.selectedItemIndex = index;\r\n      this.tabChange.emit(this.tabList[index]);\r\n    }\r\n  }\r\n  // 切换tab,传入下标\r\n  changeTab(idx: number) {\r\n    this.tabObj.select(idx);\r\n  }\r\n}\r\n","<div class=\"rs-page-list-wrap\">\r\n  <ng-container *ngIf=\"customPageTitle; else defaultTitle\">\r\n    <ng-content select=\"[titleSlot]\"></ng-content>\r\n  </ng-container>\r\n  <ng-template #defaultTitle>\r\n    <div class=\"rs-page-title\" *ngIf=\"pageTitle\">{{ pageTitle }}</div>\r\n  </ng-template>\r\n  <ejs-tab\r\n    class=\"rs-tab\"\r\n    #tabObj\r\n    (selected)=\"onTabClick($event)\"\r\n    [animation]=\"animation\"\r\n\t  overflowMode=\"Popup\"\r\n    heightAdjustMode=\"None\"\r\n    [selectedItem]=\"selectedItemIndex\"\r\n  >\r\n    <e-tabitems>\r\n      <e-tabitem *ngFor=\"let item of tabList\">\r\n        <ng-template #headerText>\r\n          <div>{{ item.title }}</div>\r\n        </ng-template>\r\n      </e-tabitem>\r\n    </e-tabitems>\r\n  </ejs-tab>\r\n  <div class=\"rs-grid-wrap\">\r\n    <ng-content select=\"[tabContentSlot]\"></ng-content>\r\n  </div>\r\n</div>\r\n","// 组件类\r\nimport {\r\n  AfterContentInit,\r\n  Component,\r\n  ContentChild,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  ViewChild,\r\n} from \"@angular/core\";\r\nimport { CommonGridComponent } from \"../../common-grid/index.component\";\r\nimport { GridComponent } from \"@syncfusion/ej2-angular-grids\";\r\nimport { TreeGridComponent } from \"@syncfusion/ej2-angular-treegrid\";\r\nimport { SearchInputComponent } from \"../../form/search-input/index.component\";\r\nimport { RsWholeToolbarSlotDirective } from \"../layout-content-slots.directives\";\r\n\r\n@Component({\r\n  selector: \"rs-grid-box\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class GridBoxComponent implements OnInit, AfterContentInit {\r\n  @ContentChild(CommonGridComponent, { static: false }) gridContent;\r\n  @ContentChild(GridComponent, { static: false }) orignGrid;\r\n  @ContentChild(TreeGridComponent, { static: false }) treeGrid;\r\n  @ContentChild(RsWholeToolbarSlotDirective, { static: false })\r\n  wholeToolbarSlot: RsWholeToolbarSlotDirective;\r\n  @ViewChild(\"searchInput\", { static: false })\r\n  searchInput: SearchInputComponent;\r\n\r\n  @Input() hideSearch = false;\r\n  @Input() isInner = false;\r\n  @Output() onGridSearch = new EventEmitter();\r\n\r\n  hasWholeToolbarSlot: boolean = false;\r\n  translation;\r\n\r\n  ngOnInit() {\r\n    this.getInfo();\r\n  }\r\n\r\n  getInfo() {\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\"));\r\n  }\r\n  ngAfterContentInit() {\r\n    // 检测是否传入了 wholeToolbarSlot\r\n    this.hasWholeToolbarSlot = !!this.wholeToolbarSlot;\r\n  }\r\n\r\n  setSearchValue(value) {\r\n    this.searchInput.searchValue = value;\r\n    this.onSeach(value);\r\n  }\r\n\r\n  onSeach(value) {\r\n    if (this.gridContent) {\r\n      this.gridContent.grid.search(value);\r\n    } else if (this.orignGrid) {\r\n      this.orignGrid.search(value);\r\n    } else if (this.treeGrid) {\r\n      this.treeGrid.search(value);\r\n    } else {\r\n      this.onGridSearch.emit(value);\r\n    }\r\n  }\r\n}\r\n","<div class=\"rs-grid-box\" [ngClass]=\"{ 'is-not-inner': !isInner }\">\r\n  <div class=\"rs-content-tab\">\r\n    <ng-content select=\"[contentTabSlot]\"></ng-content>\r\n  </div>\r\n  <div class=\"rs-toolbar-wrap\">\r\n    <div class=\"rs-whole-bar\" *ngIf=\"hasWholeToolbarSlot\">\r\n      <ng-content select=\"[wholeToolbarSlot]\"></ng-content>\r\n    </div>\r\n    <div class=\"rs-left-col\" *ngIf=\"!hasWholeToolbarSlot\">\r\n      <ng-content select=\"[leftToolbarBtnSlot]\"></ng-content>\r\n    </div>\r\n    <div class=\"rs-right-col\" *ngIf=\"!hasWholeToolbarSlot\">\r\n      <ng-content select=\"[rightToolbarBtnSlot]\"></ng-content>\r\n      <rs-search-input\r\n          #searchInput\r\n          *ngIf=\"!hideSearch\"\r\n          [placeholder]=\"translation.SEARCH_ALL_FIELD\"\r\n          (hanleSearch)=\"onSeach($event)\"\r\n        ></rs-search-input>\r\n    </div>\r\n  </div>\r\n  <div class=\"rs-grid-wrap\">\r\n    <ng-content select=\"[gridSlot]\"></ng-content>\r\n  </div>\r\n</div>\r\n","import { Injectable, OnDestroy } from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { DrawerComponent } from \"../layout/drawer/index.component\";\r\n\r\nexport type DrawerConfig = {\r\n  title: string;\r\n  subTitle?: string;\r\n  mode?: \"outer\" | \"inner\";\r\n  top?: number;\r\n};\r\n\r\nexport const DefaultDrawerConfig: Readonly<DrawerConfig> = {\r\n  title: \"Title\",\r\n  mode: \"inner\",\r\n};\r\n\r\nexport type DrawerShowInstance<T> = {\r\n  instance: T;\r\n  result: Promise<{ type: \"complete\" | \"hide\"; data?: any }>;\r\n};\r\n\r\nexport type DrawerChangeEvent = {\r\n  type: \"show\" | \"hide\" | \"complete\";\r\n  cancel: () => void;\r\n  detail: Record<string, any>;\r\n};\r\n\r\nexport type DrawerChangeListener = (event: DrawerChangeEvent) => void;\r\n\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class DrawerService implements OnDestroy {\r\n  private uniqueDrawerComponent: DrawerComponent;\r\n  private resultPromiseResolveMap = new Map<string, (value: any) => void>();\r\n\r\n  private routerSubscription: Subscription;\r\n  private ListenChangeCbs: Set<DrawerChangeListener> = new Set();\r\n\r\n  constructor(private router: Router) {}\r\n\r\n  get cacheKey() {\r\n    return this.router.url;\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.removeDrawer();\r\n  }\r\n\r\n  listenRouterChange() {\r\n    this.routerSubscription = this.router.events\r\n      .pipe(filter((event) => event instanceof NavigationEnd))\r\n      .subscribe(() => {\r\n        const drawer = this.uniqueDrawerComponent;\r\n        drawer && drawer.onRouteChange();\r\n      });\r\n  }\r\n\r\n  setDrawer(component: DrawerComponent) {\r\n    if (this.uniqueDrawerComponent) {\r\n      this.removeDrawer();\r\n    }\r\n    this.uniqueDrawerComponent = component;\r\n    this.listenRouterChange();\r\n  }\r\n\r\n  removeDrawer() {\r\n    this.routerSubscription && this.routerSubscription.unsubscribe();\r\n    this.routerSubscription = null;\r\n    this.uniqueDrawerComponent = null;\r\n  }\r\n\r\n  show<T>(\r\n    component: new (...args: any[]) => T,\r\n    config: DrawerConfig,\r\n    data = {}\r\n  ): DrawerShowInstance<T> {\r\n    const drawer = this.uniqueDrawerComponent;\r\n    if (\r\n      !this.checkChange(\"show\", { component, config, data }) ||\r\n      !drawer ||\r\n      drawer.isOpened\r\n    ) {\r\n      return {\r\n        instance: null,\r\n        result: null,\r\n      };\r\n    }\r\n    return {\r\n      instance: drawer.show(component, config, data),\r\n      result: new Promise((resolve) => {\r\n        const cacheKey = this.cacheKey;\r\n        this.resultPromiseResolveMap.set(cacheKey, (value) => {\r\n          resolve(value);\r\n          this.resultPromiseResolveMap.delete(cacheKey);\r\n        });\r\n      }),\r\n    };\r\n  }\r\n\r\n  hide() {\r\n    const drawer = this.uniqueDrawerComponent;\r\n    const resolve = this.resultPromiseResolveMap.get(this.cacheKey);\r\n    if (resolve && this.checkChange(\"hide\")) {\r\n      resolve({ type: \"hide\" });\r\n      drawer && drawer.back();\r\n    }\r\n  }\r\n\r\n  complete(data?: any) {\r\n    const drawer = this.uniqueDrawerComponent;\r\n    const resolve = this.resultPromiseResolveMap.get(this.cacheKey);\r\n    if (resolve && this.checkChange(\"complete\", { data })) {\r\n      resolve({ type: \"complete\", data });\r\n      drawer && drawer.back();\r\n    }\r\n  }\r\n\r\n  setConfig(config: Partial<DrawerConfig>) {\r\n    if (this.uniqueDrawerComponent) {\r\n      this.uniqueDrawerComponent.setConfig(config);\r\n    }\r\n  }\r\n\r\n  deleteCache(cacheKey: string) {\r\n    const drawer = this.uniqueDrawerComponent;\r\n    drawer && drawer.deleteCache(cacheKey);\r\n    this.resultPromiseResolveMap.delete(cacheKey);\r\n  }\r\n\r\n  onChange(callback: DrawerChangeListener) {\r\n    this.ListenChangeCbs.add(callback);\r\n    return () => {\r\n      this.ListenChangeCbs.delete(callback);\r\n    };\r\n  }\r\n\r\n  private checkChange(\r\n    type: DrawerChangeEvent[\"type\"],\r\n    detail: Record<string, any> = {}\r\n  ) {\r\n    let cancel = false;\r\n    const event = { type, cancel: () => (cancel = true), detail };\r\n    this.ListenChangeCbs.forEach((cb) => cb(event));\r\n    return !cancel;\r\n  }\r\n}\r\n","// 组件类\r\nimport {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  EventEmitter,\r\n  HostListener,\r\n  Input,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n} from \"@angular/core\";\r\nimport {\r\n  ActivatedRoute,\r\n  NavigationEnd,\r\n  NavigationStart,\r\n  Router,\r\n  RouterOutlet,\r\n} from \"@angular/router\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { RouteReuseStrategy } from \"@angular/router\";\r\nimport { CommonFunctionService } from \"../../service/common-function.service\";\r\nimport { DrawerService } from \"../../service/drawer.service\";\r\nimport { KeepAliveService } from \"../../service/keep-alive.service\";\r\nimport { CdkDragDrop, moveItemInArray } from \"@angular/cdk/drag-drop\";\r\n@Component({\r\n  selector: \"rs-multi-tab\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class MultiTabComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  constructor(\r\n    public router: Router,\r\n    public cf: CommonFunctionService,\r\n    public activatedRoute: ActivatedRoute,\r\n    private ref: ChangeDetectorRef,\r\n    private drawer: DrawerService,\r\n    private routeReuseStrategy: RouteReuseStrategy\r\n  ) {\r\n    this.keepAlive = this.routeReuseStrategy as KeepAliveService;\r\n  }\r\n  keepAlive: KeepAliveService;\r\n  @Input() singleReuseUrls: string[] = []; //只能单个缓存的url\r\n  @Input() noGenerateTabUrls: string[] = []; //不生成tab的url\r\n  @Input() flattenMenu = [];\r\n  @Input() defaultTabUrl = \"\";\r\n\r\n  @Output() onRefreshTab = new EventEmitter();\r\n  @Output() onCloseTab = new EventEmitter();\r\n\r\n  private subscriptions: Subscription[] = [];\r\n  TAB_WIDTH = 164;\r\n  GAP_NORMAL = 54;\r\n  GAP_SMALL = 30;\r\n  textGap; // 文本与边框的总间距\r\n  foo: RouterOutlet;\r\n  comRef: any;\r\n  tabList = [];\r\n  selectedTab: number = 0;\r\n  maxTabs: number = 10;\r\n  screenWidth: number = window.innerWidth; // 初始化屏幕宽度\r\n  translation;\r\n\r\n  @HostListener(\"window:resize\", [\"$event\"])\r\n  onResize(event) {\r\n    this.screenWidth = window.innerWidth; // 更新屏幕宽度\r\n    // this.setEllipsisTitle(); 在最外面容器调用\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\"));\r\n\r\n    this.initTab();\r\n    // 解决刷新页面后，选中的 tab 丢失问题\r\n    const isExistIdx = this.tabList.findIndex(\r\n      (ele) =>\r\n        this.urlWithoutQuery(ele.url) === this.urlWithoutQuery(this.router.url)\r\n    );\r\n    if (isExistIdx !== -1) {\r\n      this.selectedTab = isExistIdx;\r\n    }\r\n    this.subscriptions.push(\r\n      this.router.events\r\n        .pipe(filter((event) => event instanceof NavigationStart))\r\n        .subscribe((event: any) => {\r\n          const navigation = this.router.getCurrentNavigation(); // 获取当前导航\r\n          if (navigation) {\r\n            const state = navigation.extras.state; // 获取传递的 state\r\n            let noReused = (state && state[\"noReused\"]) || false; // 当前tab不复用，新开一个tab,当有已经存在的tab时候也是新开\r\n\r\n            const isExistIdx = this.tabList.findIndex(\r\n              (ele) =>\r\n                this.urlWithoutQuery(ele.url) ===\r\n                this.urlWithoutQuery(event.url)\r\n            );\r\n            if (\r\n              isExistIdx !== -1 &&\r\n              (noReused || this.tabList[isExistIdx].url !== event.url)\r\n            ) {\r\n              // 如果当前tab已经存在，并且是新开的tab\r\n              this.closeTab(isExistIdx, true); // 关闭当前tab\r\n            }\r\n          }\r\n        })\r\n    );\r\n    this.subscriptions.push(\r\n      this.router.events\r\n        .pipe(filter((event) => event instanceof NavigationEnd))\r\n        .subscribe((event) => {\r\n          const navigation = this.router.getCurrentNavigation(); // 获取当前导航\r\n          if (navigation) {\r\n            const tooltipElements = document.querySelectorAll(\".e-popup-open\");\r\n            // 删除tooltips\r\n            tooltipElements.forEach((element) => {\r\n              const htmlElement = element as HTMLElement;\r\n              htmlElement.style.display = \"none\";\r\n            });\r\n            const state = navigation.extras.state; // 获取传递的 state\r\n            const skipLocationChange = navigation.extras.skipLocationChange; // 获取是否跳过 location change\r\n            const currentRoute = this.router.routerState.root.firstChild;\r\n            const navigationInfo = JSON.parse(\r\n              sessionStorage.getItem(\"navigationInfo\") || \"{}\"\r\n            );\r\n            let title =\r\n              (state && state[\"title\"]) ||\r\n              navigationInfo.title ||\r\n              navigationInfo.subTitle ||\r\n              navigationInfo.name;\r\n\r\n            if (currentRoute && !skipLocationChange) {\r\n              if (\r\n                this.noGenerateTabUrls.includes(\r\n                  this.urlWithoutQuery(this.router.url)\r\n                )\r\n              ) {\r\n                return; // 排除不生成tab的url\r\n              }\r\n              this.setTab(\r\n                this.router.url,\r\n                currentRoute.snapshot.routeConfig.path,\r\n                title\r\n              );\r\n            }\r\n          }\r\n        })\r\n    );\r\n  }\r\n  ngAfterViewInit() {\r\n    setTimeout(() => {\r\n      this.setEllipsisTitle();\r\n    }, 50);\r\n  }\r\n  ngOnDestroy() {\r\n    this.tabList = []; // 清空 tab 列表\r\n    this.selectedTab = 0; // 重置选中的 tab 索引\r\n    this.subscriptions.forEach((sub) => sub.unsubscribe());\r\n  }\r\n\r\n  setEllipsisTitle() {\r\n    this.textGap = this.GAP_NORMAL;\r\n    if (this.screenWidth <= 1100) {\r\n      this.textGap = this.GAP_SMALL;\r\n    }\r\n    let { allWidth, leftWidth, rightWidth } = this.calcTabWidth();\r\n    let width = Math.floor(\r\n      (allWidth - rightWidth) / (this.tabList && this.tabList.length)\r\n    );\r\n    this.tabList.forEach((ele, idx) => {\r\n      ele.displayTitle = this.cf.setMiddleEllipsis(\r\n        this.translation[ele.title] || ele.title,\r\n        width > this.TAB_WIDTH\r\n          ? this.TAB_WIDTH - this.textGap\r\n          : width - this.textGap,\r\n        12\r\n      );\r\n    });\r\n    this.ref.markForCheck();\r\n    this.ref.detectChanges();\r\n  }\r\n\r\n  calcTabWidth() {\r\n    const wrap = document.querySelector(\".rs-multi-tab\");\r\n    const ulElement = document.querySelector(\".rs-multi-tab > ul\");\r\n    const refreshTabDiv = document.querySelector(\".rs-multi-tab .refresh-tab\");\r\n    let allWidth;\r\n    let leftWidth;\r\n    let rightWidth;\r\n    if (wrap && ulElement) {\r\n      // 获取元素的位置信息\r\n      const wrapRect = wrap.getBoundingClientRect();\r\n      const ulRect = ulElement.getBoundingClientRect();\r\n      const refreshTabRect =\r\n        refreshTabDiv && refreshTabDiv.getBoundingClientRect();\r\n      allWidth = wrapRect.width;\r\n      leftWidth = ulRect.width;\r\n      rightWidth = (refreshTabRect && refreshTabRect.width) || 100;\r\n    }\r\n    return {\r\n      allWidth,\r\n      leftWidth,\r\n      rightWidth,\r\n    };\r\n  }\r\n  initTab() {\r\n    // console.log(\"this.flattenMenu\", this.flattenMenu);\r\n    let TabCache = JSON.parse(sessionStorage.getItem(\"TabCache\"));\r\n    this.tabList = TabCache || [];\r\n    if (this.tabList.length === 0) {\r\n      const pureUrl = this.urlWithoutQuery(this.router.url);\r\n      const target = this.flattenMenu.find((ele) => ele.url === pureUrl);\r\n      if (target) {\r\n        if (target.url !== this.defaultTabUrl) {\r\n          const defaultTab = this.flattenMenu.find(\r\n            (ele) => ele.url === this.defaultTabUrl\r\n          );\r\n          this.tabList.push({\r\n            url: defaultTab.url,\r\n            title: defaultTab.menuCode || defaultTab.label,\r\n            displayTitle: defaultTab.menuCode || defaultTab.label,\r\n          });\r\n        }\r\n        this.addTab(target.url, target.menuCode || target.label);\r\n      }\r\n    }\r\n  }\r\n\r\n  closeTab(idx, noChange?) {\r\n    const tab = this.tabList[idx];\r\n    this.tabList = this.tabList.filter((ele) => ele.url !== tab.url);\r\n    this.clearCache(tab.url);\r\n    if (!noChange && this.selectedTab === idx) {\r\n      const targetIdx = Math.max(0, idx - 1);\r\n      this.changeTab(this.tabList[targetIdx], targetIdx);\r\n    }\r\n    if (idx < this.selectedTab) {\r\n      this.selectedTab = this.selectedTab - 1; // 如果关闭的tab在当前选中的tab之前，选中tab索引减1\r\n    }\r\n    this.setEllipsisTitle();\r\n    sessionStorage.setItem(\"TabCache\", JSON.stringify(this.tabList));\r\n    this.onCloseTab.emit(tab);\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  changeTab(tab, idx) {\r\n    this.router.navigateByUrl(tab.url);\r\n    if (tab.navigationInfo) {\r\n      sessionStorage.setItem(\r\n        \"navigationInfo\",\r\n        JSON.stringify(tab.navigationInfo)\r\n      );\r\n    }\r\n    if (tab.fromInfo) {\r\n      sessionStorage.setItem(\"fromInfo\", JSON.stringify(tab.fromInfo));\r\n    }\r\n    if (tab.permissions) {\r\n      sessionStorage.setItem(\"permissions\", JSON.stringify(tab.permissions));\r\n    }\r\n    this.selectedTab = idx;\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  addTab(url, title) {\r\n    if (this.tabList.length >= this.maxTabs) {\r\n      const secondTab = this.tabList[1];\r\n      this.tabList = this.tabList.filter((ele) => ele.url !== secondTab.url);\r\n      this.clearCache(secondTab.url);\r\n    }\r\n    const localPermissions =\r\n      sessionStorage.getItem(\"permissions\") ||\r\n      localStorage.getItem(\"permissions\");\r\n    const navigationInfo = JSON.parse(sessionStorage.getItem(\"navigationInfo\"));\r\n    const fromInfo = JSON.parse(sessionStorage.getItem(\"fromInfo\"));\r\n    const permissions = JSON.parse(localPermissions);\r\n\r\n    this.tabList.push({\r\n      url: url,\r\n      title: title || \"default\",\r\n      displayTitle: title,\r\n      navigationInfo: navigationInfo,\r\n      permissions: permissions,\r\n      fromInfo: fromInfo,\r\n    });\r\n    this.selectedTab = this.tabList.length - 1;\r\n    this.setEllipsisTitle();\r\n    sessionStorage.setItem(\"TabCache\", JSON.stringify(this.tabList));\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  public setTab(url, pureUrl, title) {\r\n    const isExistIdx = this.tabList.findIndex(\r\n      (ele) => this.urlWithoutQuery(ele.url) === this.urlWithoutQuery(url)\r\n    );\r\n    if (isExistIdx === -1) {\r\n      const singleIdx = this.singleReuseUrls.findIndex(\r\n        (ele) => ele === pureUrl\r\n      );\r\n      if (singleIdx !== -1) {\r\n        this.tabList = this.tabList.filter(\r\n          (ele) => !ele.url.includes(this.singleReuseUrls[singleIdx])\r\n        );\r\n        this.keepAlive.clearCache(this.urlWithoutQuery(url));\r\n        this.drawer.deleteCache(url);\r\n      }\r\n      this.addTab(url, title);\r\n    } else {\r\n      this.changeTab(this.tabList[isExistIdx], isExistIdx);\r\n      this.ref.markForCheck();\r\n    }\r\n  }\r\n\r\n  onTabDrop(event: CdkDragDrop<string[]>) {\r\n    const { previousIndex, currentIndex } = event;\r\n    // 禁止拖动第一个标签页\r\n    if (previousIndex === 0 || currentIndex === 0) return;\r\n    const wasSelected = this.selectedTab === previousIndex;\r\n    moveItemInArray(this.tabList, previousIndex, currentIndex);\r\n    sessionStorage.setItem(\"TabCache\", JSON.stringify(this.tabList));\r\n    if (wasSelected) {\r\n      this.selectedTab = currentIndex;\r\n    } else if (\r\n      previousIndex < this.selectedTab &&\r\n      currentIndex >= this.selectedTab\r\n    ) {\r\n      this.selectedTab--;\r\n    } else if (\r\n      previousIndex > this.selectedTab &&\r\n      currentIndex <= this.selectedTab\r\n    ) {\r\n      this.selectedTab++;\r\n    }\r\n  }\r\n\r\n  timer = null;\r\n  refreshTab() {\r\n    const loadingIcon = document.getElementById(\"loadingIcon\");\r\n    loadingIcon.classList.add(\"refresh-tab-loading\");\r\n    if (this.timer) {\r\n      clearInterval(this.timer);\r\n    }\r\n    // 模拟加载过程，1秒后移除动画\r\n    this.timer = setTimeout(() => {\r\n      loadingIcon.classList.remove(\"refresh-tab-loading\");\r\n      this.timer = null;\r\n    }, 1500);\r\n    // this.keepAlive.clearCache(this.tabList[this.selectedTab].url);\r\n    // this.drawer.deleteCache(this.tabList[this.selectedTab].url);\r\n    const currentUrl = this.router.url; // 获取当前 URL\r\n    this.onRefreshTab.emit(currentUrl);\r\n    // this.router.navigateByUrl(\"/\", { skipLocationChange: true }).then(() => {\r\n    //   this.router.navigateByUrl(currentUrl); // 重新导航到当前 URL\r\n    // });\r\n  }\r\n\r\n  clearCache(url) {\r\n    this.keepAlive.clearCache(this.urlWithoutQuery(url)); // 调用自定义策略的清除缓存方法\r\n    this.drawer.deleteCache(url);\r\n  }\r\n  cleanAllCache() {\r\n    sessionStorage.removeItem(\"TabCache\"); // 清除缓存\r\n    this.tabList = []; // 清空 tab 列表\r\n    this.selectedTab = 0; // 重置选中的 tab 索引\r\n    this.keepAlive.clearAllCache(); // 调用自定义策略的清除缓存方法\r\n  }\r\n  private urlWithoutQuery(url) {\r\n    return url.split(\"?\")[0];\r\n  }\r\n}\r\n","<div class=\"rs-multi-tab\" [ngClass]=\"{ 'b-line': tabList.length > 0 }\">\r\n  <ul\r\n    cdkDropList\r\n    cdkDropListOrientation=\"horizontal\"\r\n    (cdkDropListDropped)=\"onTabDrop($event)\"\r\n  >\r\n    <li\r\n      class=\"tab-item\"\r\n      *ngFor=\"let tab of tabList; let i = index\"\r\n      [ngClass]=\"selectedTab === i ? 'isSelect' : 'notSelect'\"\r\n      [cdkDragDisabled]=\"i === 0\"\r\n      cdkDrag\r\n      (click)=\"changeTab(tab, i)\"\r\n    >\r\n      <ng-template cdkDragPlaceholder let-item>\r\n        <div class=\"placeholder\"></div>\r\n      </ng-template>\r\n      <ejs-tooltip\r\n        id=\"notSelectTooltip\"\r\n        [showTipPointer]=\"false\"\r\n        [openDelay]=\"500\"\r\n        *ngIf=\"tab.displayTitle !== (translation[tab.title] || tab.title) ; else originText\"\r\n        style=\"height: 27px\"\r\n      >\r\n        <ng-template #content>\r\n          <div class=\"tooltip-content\">\r\n            {{ translation[tab.title] || tab.title }}\r\n          </div>\r\n        </ng-template>\r\n        <span class=\"tabTitle\">{{ translation[tab.displayTitle] || tab.displayTitle }}</span>\r\n      </ejs-tooltip>\r\n      <ng-template #originText>\r\n        <span class=\"tabTitle\">\r\n          {{ tab.displayTitle }}\r\n        </span>\r\n      </ng-template>\r\n      <span class=\"img-block\" *ngIf=\"selectedTab !== i && i !== 0\"></span>\r\n      <img\r\n        *ngIf=\"i !== 0\"\r\n        src=\"../../../assets/img/close-url.svg\"\r\n        (click)=\"closeTab(i)\"\r\n      />\r\n    </li>\r\n  </ul>\r\n  <div class=\"refresh-tab\" (click)=\"refreshTab()\" *ngIf=\"tabList.length > 0\">\r\n    <ejs-tooltip\r\n      id=\"notSelectTooltip\"\r\n      cssClass=\"notSelectTooltip\"\r\n      [showTipPointer]=\"false\"\r\n      [openDelay]=\"500\"\r\n      style=\"height: 27px\"\r\n    >\r\n      <ng-template #content>\r\n        <div class=\"tooltip-content\">\r\n          {{ translation.REFRESH_CURRENT_TAB || \".REFRESH_CURRENT_TAB\" }}\r\n        </div>\r\n      </ng-template>\r\n      <img\r\n        id=\"loadingIcon\"\r\n        alt\r\n        class=\"refresh-btn\"\r\n        src=\"../../../assets/img/desktop-refresh-btn.svg\"\r\n      />\r\n    </ejs-tooltip>\r\n  </div>\r\n</div>\r\n","import {\r\n  Component,\r\n  ViewChild,\r\n  ViewContainerRef,\r\n  ComponentFactoryResolver,\r\n  ComponentRef,\r\n  ElementRef,\r\n  ChangeDetectorRef,\r\n} from \"@angular/core\";\r\nimport {\r\n  DrawerConfig,\r\n  DefaultDrawerConfig,\r\n  DrawerService,\r\n} from \"../../service/drawer.service\";\r\n\r\ntype DrawerComponentCache = {\r\n  ref: ComponentRef<any>;\r\n  config: DrawerConfig;\r\n  toolbarEl: HTMLElement;\r\n  headerEl: HTMLElement;\r\n  topEl: HTMLElement;\r\n};\r\n\r\n@Component({\r\n  selector: \"rs-drawer\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class DrawerComponent {\r\n  @ViewChild(\"element\", { static: false }) element: ElementRef<HTMLDivElement>;\r\n  @ViewChild(\"drawer\", { static: false }) drawer: ElementRef<HTMLDivElement>;\r\n  @ViewChild(\"header\", { static: false }) header: ElementRef<HTMLDivElement>;\r\n  @ViewChild(\"content\", { static: false }) content: ElementRef<HTMLDivElement>;\r\n\r\n  @ViewChild(\"toolbarSlot\", { static: false })\r\n  toolbarSlot: ElementRef<HTMLDivElement>;\r\n  @ViewChild(\"headerSlot\", { static: false })\r\n  headerSlot: ElementRef<HTMLDivElement>;\r\n  @ViewChild(\"topSlot\", { static: false }) topSlot: ElementRef<HTMLDivElement>;\r\n\r\n  @ViewChild(\"dynamicComponentContainer\", {\r\n    read: ViewContainerRef,\r\n    static: false,\r\n  })\r\n  private container: ViewContainerRef;\r\n\r\n  config: DrawerConfig = DefaultDrawerConfig;\r\n  useAnimation: \"yes\" | \"no\" = \"yes\";\r\n  isOpened = false;\r\n  hiddenDrawer = true;\r\n\r\n  private componentRefMap = new Map<string, DrawerComponentCache>();\r\n\r\n  constructor(\r\n    private resolver: ComponentFactoryResolver,\r\n    private service: DrawerService,\r\n    private ref: ChangeDetectorRef\r\n  ) {}\r\n\r\n  private createDynamicComponent(component: new (...args: any[]) => any) {\r\n    // 确保在调用之前目标组件已经在entryComponents中声明\r\n    const factory = this.resolver.resolveComponentFactory(component);\r\n    const componentRef = this.container.createComponent(factory);\r\n    return componentRef;\r\n  }\r\n\r\n  private destroyDynamicComponent(componentRef: ComponentRef<any>) {\r\n    if (componentRef) {\r\n      componentRef.destroy();\r\n    }\r\n  }\r\n\r\n  private setComponentData(\r\n    componentRef: ComponentRef<any>,\r\n    data: Record<string, any> = {}\r\n  ) {\r\n    // 如果需要传递数据给动态组件，可以这样做\r\n    if (componentRef) {\r\n      Object.entries(data).forEach(([key, value]) => {\r\n        componentRef.instance[key] = value;\r\n      });\r\n    }\r\n  }\r\n\r\n  private getSlotElement(componentRef: ComponentRef<any>, selector: string) {\r\n    const componentEl = componentRef.location.nativeElement;\r\n    return componentEl.querySelector(selector) as HTMLElement;\r\n  }\r\n\r\n  private setSlotElement(slotEl: HTMLElement, containerEl: HTMLElement) {\r\n    containerEl.innerHTML = \"\";\r\n    if (slotEl) {\r\n      containerEl.append(slotEl);\r\n    }\r\n  }\r\n\r\n  setCache(cache: DrawerComponentCache) {\r\n    this.setSlotElement(cache.toolbarEl, this.toolbarSlot.nativeElement);\r\n    this.setSlotElement(cache.headerEl, this.headerSlot.nativeElement);\r\n    this.setSlotElement(cache.topEl, this.topSlot.nativeElement);\r\n\r\n    const drawerTop = cache.config.top ? `${cache.config.top}px` : \"\";\r\n    this.element.nativeElement.style.setProperty(\"--drawer-top\", drawerTop);\r\n\r\n    if (cache.config.mode === \"inner\") {\r\n      this.content.nativeElement.insertBefore(\r\n        this.header.nativeElement,\r\n        this.content.nativeElement.firstChild\r\n      );\r\n      this.content.nativeElement.append(this.toolbarSlot.nativeElement);\r\n    } else {\r\n      this.drawer.nativeElement.insertBefore(\r\n        this.header.nativeElement,\r\n        this.drawer.nativeElement.firstChild\r\n      );\r\n      this.header.nativeElement.append(this.toolbarSlot.nativeElement);\r\n    }\r\n\r\n    this.config = cache.config;\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  setConfig(config: Partial<DrawerConfig>) {\r\n    const cache = this.componentRefMap.get(this.service.cacheKey);\r\n    if (cache) {\r\n      cache.config = { ...cache.config, ...config };\r\n      this.setCache(cache);\r\n    }\r\n  }\r\n\r\n  show<T>(\r\n    component: new (...args: any[]) => T,\r\n    config: DrawerConfig,\r\n    data: Record<string, any>\r\n  ): T {\r\n    const showConfig = { ...DefaultDrawerConfig, ...config };\r\n    const componentRef = this.createDynamicComponent(component);\r\n    const toolbarEl = this.getSlotElement(componentRef, \"[drawer-toolbar]\");\r\n    const headerEl = this.getSlotElement(componentRef, \"[drawer-header]\");\r\n    const topEl = this.getSlotElement(componentRef, \"[drawer-top]\");\r\n    const cache = {\r\n      config: showConfig,\r\n      ref: componentRef,\r\n      toolbarEl,\r\n      headerEl,\r\n      topEl,\r\n    };\r\n\r\n    this.setComponentData(componentRef, data);\r\n    this.componentRefMap.set(this.service.cacheKey, cache);\r\n\r\n    this.setCache(cache);\r\n    this.toggleOpenStatus(true, true);\r\n    return componentRef.instance;\r\n  }\r\n\r\n  hide() {\r\n    this.service.hide();\r\n  }\r\n\r\n  back() {\r\n    this.deleteCache(this.service.cacheKey);\r\n    this.toggleOpenStatus(false, true);\r\n  }\r\n\r\n  deleteCache(cacheKey: string) {\r\n    const cache = this.componentRefMap.get(cacheKey);\r\n    if (cache) {\r\n      this.destroyDynamicComponent(cache.ref);\r\n    }\r\n    this.componentRefMap.delete(cacheKey);\r\n  }\r\n\r\n  onRouteChange() {\r\n    this.componentRefMap.forEach((cache) => {\r\n      cache.ref.location.nativeElement.style.display = \"none\";\r\n    });\r\n    const cache = this.componentRefMap.get(this.service.cacheKey);\r\n    if (cache) {\r\n      cache.ref.location.nativeElement.style.display = \"\";\r\n      this.setCache(cache);\r\n      this.toggleOpenStatus(true);\r\n    } else {\r\n      this.toggleOpenStatus(false);\r\n    }\r\n    this.useAnimation = \"no\";\r\n  }\r\n\r\n  toggleOpenStatus(isOpen: boolean, useAnimation = false) {\r\n    this.isOpened = isOpen;\r\n    this.useAnimation = useAnimation ? \"yes\" : \"no\";\r\n    this.hiddenDrawer = !isOpen && !useAnimation;\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  onAnimationEnd() {\r\n    if (!this.isOpened) {\r\n      this.hiddenDrawer = true;\r\n      this.ref.markForCheck();\r\n    }\r\n  }\r\n}\r\n","<div #element id=\"rs-drawer-container\" class=\"rs-drawer-container\">\r\n  <div class=\"rs-drawer-content\">\r\n    <ng-content></ng-content>\r\n  </div>\r\n  <div\r\n    #drawer\r\n    class=\"rs-drawer\"\r\n    [attr.data-mode]=\"config.mode\"\r\n    [attr.data-opened]=\"isOpened ? 'yes' : 'no'\"\r\n    [attr.data-animation]=\"useAnimation\"\r\n    [hidden]=\"hiddenDrawer\"\r\n    (animationend)=\"onAnimationEnd()\"\r\n  >\r\n    <div class=\"drawer-header\" #header>\r\n      <button class=\"drawer-return-button\" (click)=\"hide()\">\r\n        <span class=\"drawer-sub-title\" *ngIf=\"config.subTitle\">\r\n          {{ config.subTitle }}\r\n        </span>\r\n      </button>\r\n      <div class=\"drawer-title\">{{ config.title }}</div>\r\n      <div class=\"drawer-header-slot\" #headerSlot></div>\r\n    </div>\r\n    <div class=\"drawer-top-slot\" #topSlot></div>\r\n    <div class=\"drawer-content-box\">\r\n      <div class=\"drawer-content\" #content>\r\n        <div class=\"drawer-content-container\">\r\n          <ng-template #dynamicComponentContainer></ng-template>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"drawer-toolbar-slot\" #toolbarSlot></div>\r\n  </div>\r\n</div>\r\n","// 组件类\r\nimport { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { NavGroup } from \"./constants\";\r\n\r\n@Component({\r\n  selector: \"nav-card-group\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class RSNavCardGroupComponent implements OnInit {\r\n  constructor(public router: Router) {}\r\n  ngOnInit(): void {}\r\n\r\n  @Output()\r\n  navClick = new EventEmitter<any>();\r\n\r\n  @Input() navList: NavGroup[] = [];\r\n  @Input() customNavClick: boolean = false; // 接收输入属性\r\n  @Input() title = \"\";\r\n\r\n  onNavClick(item) {\r\n    if (!this.customNavClick) {\r\n      this.router.navigate([item.url], { state: { title: item.title } });\r\n    }\r\n    this.navClick.emit(item);\r\n  }\r\n}\r\n","<div class=\"rs-setting\">\r\n  <div class=\"rs-page-title\">{{ title }}</div>\r\n  <div class=\"setting-content\">\r\n    <div\r\n      class=\"setting-group-card\"\r\n      *ngFor=\"let group of navList\"\r\n      [ngClass]=\"{ pointer: !group.subList }\"\r\n      (click)=\"!group.subList && onNavClick(group)\"\r\n    >\r\n      <header class=\"setting-card-header\">\r\n        <div class=\"setting-card-logo\">\r\n          <img [src]=\"group.img\" alt=\"\" />\r\n        </div>\r\n        <h4 class=\"setting-card-title\">{{ group.title }}</h4>\r\n        <div\r\n          class=\"setting-card-sub-title\"\r\n          *ngIf=\"!group.subList\"\r\n        >\r\n          {{ group.subTitle }}\r\n        </div>\r\n      </header>\r\n      <div class=\"setting-card-desc\" *ngIf=\"!group.subList\">\r\n        {{ group.desc }}\r\n      </div>\r\n      <div\r\n        class=\"setting-item\"\r\n        *ngFor=\"let item of group.subList\"\r\n        (click)=\"onNavClick(item)\"\r\n      >\r\n        {{ item.title }}\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import {\r\n  Component,\r\n  ElementRef,\r\n  HostBinding,\r\n  Input,\r\n  ViewChild,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"rs-toolbar-item\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class ToolbarItemComponent {\r\n  @Input(\"image\") image: string;\r\n  @Input(\"text\") text: string;\r\n  @Input(\"disabled\") disabled: boolean;\r\n  @Input(\"children\") children: any[] = [];\r\n  @Input(\"hideArrow\") hideArrow: boolean = false;\r\n  @Input() disabledOptions: { [key: string]: any } = {};\r\n\r\n  @ViewChild(\"buttonElement\", { static: false }) buttonElement!: ElementRef;\r\n  @HostBinding(\"class.disabled\") get hostDisabled() {\r\n    return !!this.disabled;\r\n  }\r\n\r\n  // 暴露方法供父组件调用\r\n  getWidth(): number {\r\n    return this.buttonElement.nativeElement.offsetWidth;\r\n  }\r\n\r\n  ImageType = [\r\n    \"Add\",\r\n    \"Delete\",\r\n    \"Update\",\r\n    \"Import\",\r\n    \"Export\",\r\n    \"Upload\",\r\n    \"Download\",\r\n    \"Duplicate\",\r\n    \"Refresh\",\r\n    \"AddFolder\",\r\n    \"Collapse\",\r\n    \"Combine\",\r\n    \"Edit\",\r\n    \"Lock\",\r\n    \"Expand\",\r\n    \"MoveTo\",\r\n    \"Publish\",\r\n    \"Preview\",\r\n    \"ReCalculate\",\r\n    \"Sync\",\r\n    \"Share\",\r\n    \"Rename\",\r\n    \"SaveSequence\",\r\n    \"SubmitForApproval\",\r\n    \"SendToControlPanel\",\r\n    \"SetReminders\",\r\n    \"Settle\",\r\n    \"Template\",\r\n    \"Workflow\",\r\n    \"FetchData\",\r\n    \"Loading\",\r\n  ];\r\n}\r\n","<button\r\n  *ngIf=\"!children.length\"\r\n  class=\"toolbar-action-item e-btn text\"\r\n  #buttonElement\r\n  [disabled]=\"!!disabled\"\r\n>\r\n  <span class=\"toolbar-action-image\" *ngIf=\"image\" [attr.data-type]=\"image\">\r\n    <img *ngIf=\"!ImageType.includes(image)\" [src]=\"image\" />\r\n  </span>\r\n  <span>{{ text }}</span>\r\n</button>\r\n\r\n<button\r\n  *ngIf=\"children.length\"\r\n  class=\"toolbar-action-item e-btn text\"\r\n  #buttonElement\r\n  mat-menu-item\r\n  [matMenuTriggerFor]=\"menu\"\r\n  [disabled]=\"!!disabled\"\r\n>\r\n  <span class=\"toolbar-action-image\" *ngIf=\"image\" [attr.data-type]=\"image\">\r\n    <img *ngIf=\"!ImageType.includes(image)\" [src]=\"image\" />\r\n  </span>\r\n  <span>{{ text }}</span>\r\n  <span class=\"toolbar-action-arrow\" *ngIf=\"!hideArrow\">\r\n    <img src=\"assets/img/down-arrow.svg\" />\r\n  </span>\r\n</button>\r\n<mat-menu #menu=\"matMenu\" class=\"toolbar-action-menu-content\">\r\n  <ng-container *ngFor=\"let button of children\">\r\n    <button\r\n      class=\"toolbar-action-item e-btn text\"\r\n      [disabled]=\"(button.key && disabledOptions[button.key]) || false\"\r\n      (click)=\"button.action()\"\r\n    >\r\n      <span\r\n        class=\"toolbar-action-image\"\r\n        *ngIf=\"button.image\"\r\n        [attr.data-type]=\"button.image\"\r\n      >\r\n        <img *ngIf=\"!ImageType.includes(button.image)\" [src]=\"button.image\" />\r\n      </span>\r\n      <span>{{ button.text }}</span>\r\n    </button>\r\n  </ng-container>\r\n</mat-menu>\r\n","// 组件类\r\nimport {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  HostListener,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  QueryList,\r\n  ViewChild,\r\n  ViewChildren,\r\n} from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ToolbarButton } from \"./constants\";\r\n\r\n@Component({\r\n  selector: \"rs-toolbar\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class RSToolbarComponent implements AfterViewInit {\r\n  @Input() buttons: ToolbarButton[] = [];\r\n  @Input() disabledOptions: { [key: string]: any } = {};\r\n\r\n  @ViewChild(\"toolbarContainer\", { static: false })\r\n  toolbarContainer!: ElementRef;\r\n\r\n  @ViewChildren(\"toolbarItem\") buttonElements!: QueryList<ElementRef>;\r\n\r\n  constructor(public router: Router, private ref: ChangeDetectorRef) {}\r\n  ngAfterViewInit(): void {\r\n    this.updateButtonVisibility();\r\n  }\r\n\r\n  visibleButtons: ToolbarButton[] = [];\r\n  hiddenButtons: ToolbarButton[] = [];\r\n\r\n  public updateButtonVisibility(): void {\r\n    if (!this.toolbarContainer || !this.buttonElements) return;\r\n\r\n    const buttonRefs = this.buttonElements.toArray();\r\n    const containerWidth = this.toolbarContainer.nativeElement.offsetWidth - 50;\r\n    // console.log(\"containerWidth\", containerWidth);\r\n    let totalWidth = 0;\r\n    const menuButtonWidth = 60;\r\n\r\n    this.visibleButtons = [];\r\n    this.hiddenButtons = [];\r\n\r\n    for (let i = 0; i < buttonRefs.length; i++) {\r\n      const buttonWidth =\r\n        buttonRefs[i].nativeElement.getBoundingClientRect().width;\r\n      // console.log(\"buttonWidth\", buttonWidth);\r\n      if (\r\n        totalWidth +\r\n          4 + // 4px margin between buttons\r\n          buttonWidth +\r\n          (i < buttonRefs.length - 1 ? menuButtonWidth : 0) <=\r\n        containerWidth\r\n      ) {\r\n        this.visibleButtons.push(this.buttons[i]);\r\n        buttonRefs[i].nativeElement.classList.remove(\"temp-hidden\");\r\n        totalWidth += buttonWidth;\r\n      } else {\r\n        buttonRefs[i].nativeElement.classList.add(\"temp-hidden\");\r\n        this.hiddenButtons.push(this.buttons[i]);\r\n      }\r\n    }\r\n    // console.log(\"visibleButtons\", this.visibleButtons);\r\n    // console.log(\"hiddenButtons\", this.hiddenButtons);\r\n    this.ref.detectChanges();\r\n  }\r\n\r\n  @HostListener(\"window:resize\")\r\n  onWindowResize() {\r\n    this.updateButtonVisibility();\r\n  }\r\n}\r\n","<div #toolbarContainer class=\"rs-toolbar-container\">\r\n  <!-- 可见按钮 -->\r\n  <ng-container *ngFor=\"let button of buttons\">\r\n    <div class=\"temp-hidden\" #toolbarItem>\r\n      <rs-toolbar-item\r\n        [image]=\"button.image\"\r\n        [text]=\"button.text\"\r\n        [disabled]=\"(button.key && disabledOptions[button.key]) || false\"\r\n        (click)=\"button.action && button.action()\"\r\n        [children]=\"button.children || []\"\r\n        [disabledOptions]=\"disabledOptions\"\r\n      >\r\n      </rs-toolbar-item>\r\n    </div>\r\n  </ng-container>\r\n\r\n  <!-- 下拉菜单（如果有隐藏按钮） -->\r\n  <button\r\n    *ngIf=\"hiddenButtons.length > 0\"\r\n    mat-button\r\n    [matMenuTriggerFor]=\"menu\"\r\n    #menuTrigger=\"matMenuTrigger\"\r\n    class=\"action-toggle\"\r\n  >\r\n    <mat-icon svgIcon=\"more\"></mat-icon>\r\n  </button>\r\n\r\n  <mat-menu #menu=\"matMenu\">\r\n    <ng-container *ngFor=\"let button of hiddenButtons\">\r\n      <rs-toolbar-item\r\n        [image]=\"button.image\"\r\n        [text]=\"button.text\"\r\n        (click)=\"button.action && button.action()\"\r\n        [disabled]=\"disabledOptions[button.key] || false\"\r\n        [children]=\"button.children || []\"\r\n        [disabledOptions]=\"disabledOptions\"\r\n      >\r\n      </rs-toolbar-item>\r\n    </ng-container>\r\n  </mat-menu>\r\n</div>\r\n","export const jaLocalization = {\r\n  ja: {\r\n    grid: {\r\n      EmptyRecord: \"表示するレコードはありません\",\r\n      True: \"本当\",\r\n      False: \"偽\",\r\n      InvalidFilterMessage: \"無効なフィルターデータ\",\r\n      GroupDropArea: \"列ヘッダーをここにドラッグして、列をグループ化します\",\r\n      UnGroup: \"グループ化を解除するにはここをクリック\",\r\n      GroupDisable: \"この列ではグループ化が無効になっています\",\r\n      FilterbarTitle: '\"sフィルターバーセル',\r\n      EmptyDataSourceError:\r\n        \"列はAutoGenerate Column GridのdataSourceから生成されるため、DataSourceは初期ロード時に空であってはなりません\",\r\n      Add: \"追加\",\r\n      Edit: \"編集\",\r\n      Cancel: \"キャンセル\",\r\n      Update: \"更新\",\r\n      Delete: \"削除\",\r\n      Print: \"印刷する\",\r\n      Pdfexport: \"PDFエクスポート\",\r\n      Excelexport: \"Excelエクスポート\",\r\n      Wordexport: \"ワードエクスポート\",\r\n      Csvexport: \"CSVエクスポート\",\r\n      Search: \"探す\",\r\n      Columnchooser: \"列\",\r\n      Save: \"セーブ\",\r\n      Item: \"項目\",\r\n      Items: \"アイテム\",\r\n      EditOperationAlert: \"編集操作のために選択されたレコードがありません\",\r\n      DeleteOperationAlert: \"削除操作にレコードが選択されていません\",\r\n      SaveButton: \"セーブ\",\r\n      OKButton: \"OK\",\r\n      CancelButton: \"キャンセル\",\r\n      EditFormTitle: \"の詳細\",\r\n      AddFormTitle: \"新しいレコードを追加\",\r\n      BatchSaveConfirm: \"変更を保存してもよろしいですか？\",\r\n      BatchSaveLostChanges: \"保存していない変更は失われます。続行しますか？\",\r\n      ConfirmDelete: \"レコードを削除してもよろしいですか？\",\r\n      CancelEdit: \"変更をキャンセルしてもよろしいですか？\",\r\n      ChooseColumns: \"列を選択\",\r\n      SearchColumns: \"検索列\",\r\n      Matchs: \"一致するものは見つかりませんでした\",\r\n      FilterButton: \"フィルタ\",\r\n      ClearButton: \"晴れ\",\r\n      StartsWith: \"〜で始まる\",\r\n      EndsWith: \"次で終わる\",\r\n      Contains: \"含む\",\r\n      Equal: \"等しい\",\r\n      NotEqual: \"等しくない\",\r\n      LessThan: \"未満\",\r\n      LessThanOrEqual: \"より小さいか等しい\",\r\n      GreaterThan: \"より大きい\",\r\n      GreaterThanOrEqual: \"より大きいか等しい\",\r\n      ChooseDate: \"日付を選択してください\",\r\n      EnterValue: \"値を入力してください\",\r\n      Copy: \"コピー\",\r\n      Group: \"この列でグループ化\",\r\n      Ungroup: \"この列でグループ解除\",\r\n      autoFitAll: \"すべての列を自動調整\",\r\n      autoFit: \"この列を自動調整\",\r\n      Export: \"書き出す\",\r\n      FirstPage: \"先頭ページ\",\r\n      LastPage: \"最後のページ\",\r\n      PreviousPage: \"前のページ\",\r\n      NextPage: \"次のページ\",\r\n      SortAscending: \"ソート昇順\",\r\n      SortDescending: \"降順で並べ替え\",\r\n      EditRecord: \"レコードを編集\",\r\n      DeleteRecord: \"レコードを削除\",\r\n      FilterMenu: \"フィルタ\",\r\n      SelectAll: \"すべて選択\",\r\n      Blanks: \"ブランク\",\r\n      FilterTrue: \"本当だ\",\r\n      FilterFalse: \"偽\",\r\n      NoResult: \"一致するものは見つかりませんでした\",\r\n      ClearFilter: \"フィルターをクリア\",\r\n      NumberFilter: \"番号フィルター\",\r\n      TextFilter: \"テキストフィルター\",\r\n      DateFilter: \"日付フィルター\",\r\n      DateTimeFilter: \"日時フィルター\",\r\n      MatchCase: \"マッチケース\",\r\n      Between: \"の間に\",\r\n      CustomFilter: \"カスタムフィルター\",\r\n      CustomFilterPlaceHolder: \"値を入力してください\",\r\n      CustomFilterDatePlaceHolder: \"日付を選択してください\",\r\n      AND: \"そして\",\r\n      OR: \"または\",\r\n      ShowRowsWhere: \"行を表示する場所：\",\r\n      NotStartsWith: \"で始まらない\",\r\n      Like: \"好き\",\r\n      NotEndsWith: \"で終わらない\",\r\n      NotContains: \"含まない\",\r\n      IsNull: \"ヌル\",\r\n      NotNull: \"ヌルではない\",\r\n      IsEmpty: \"空です\",\r\n      IsNotEmpty: \"空ではない\",\r\n      AddCurrentSelection: \"現在の選択をフィルターに追加\",\r\n      UnGroupButton: \"グループ化を解除するには、ここをクリックしてください\",\r\n      AutoFitAll: \"すべての列を自動調整\",\r\n      AutoFit: \"この列を自動調整\",\r\n      Clear: \"クリア\",\r\n      FilterMenuDialogARIA: \"フィルタメニューダイアログ\",\r\n      ExcelFilterDialogARIA: \"Excelフィルターダイアログ\",\r\n      DialogEditARIA: \"編集ダイアログ\",\r\n      ColumnChooserDialogARIA: \"列の選択\",\r\n      ColumnMenuDialogARIA: \"列メニューダイアログ\",\r\n      CustomFilterDialogARIA: \"カスタムフィルターダイアログ\",\r\n      SortAtoZ: \"AからZに並べ替え\",\r\n      SortZtoA: \"ZをAに並べ替える\",\r\n      SortByOldest: \"古いもので並べ替え\",\r\n      SortByNewest: \"最新で並べ替え\",\r\n      SortSmallestToLargest: \"最小から最大に並べ替え\",\r\n      SortLargestToSmallest: \"最大から最小に並べ替え\",\r\n      Sort: \"選別\",\r\n      FilterDescription: \"Alt Down を押してフィルター メニューを開きます\",\r\n      SortDescription: \"Enter キーを押して並べ替えます\",\r\n      ColumnMenuDescription: \"Alt Down を押して列メニューを開きます\",\r\n      GroupDescription: \"Ctrl スペースを押してグループ化します\",\r\n      ColumnHeader: \" 列ヘッダー \",\r\n      TemplateCell: \" テンプレートセルです\",\r\n      CommandColumnAria: \"コマンド列の列ヘッダー \",\r\n      DialogEdit: \"ダイアログ編集\",\r\n      ClipBoard: \"クリップボード\",\r\n      GroupButton: \"グループボタン\",\r\n      UnGroupAria: \"グループ解除ボタン\",\r\n      GroupSeperator: \"グループ化された列のセパレータ\",\r\n      UnGroupIcon: \"グループ化された列のグループ化を解除します \",\r\n      GroupedSortIcon: \"グループ化された列を並べ替える \",\r\n      GroupedDrag: \"グループ化された列をドラッグします\",\r\n      GroupCaption: \" グループキャプションセルです\",\r\n      CheckBoxLabel: \"チェックボックス\",\r\n      Expanded: \"エキスパンド\",\r\n      Collapsed: \"折りたたまれた\",\r\n      SelectAllCheckbox: \"すべて選択チェックボックス\",\r\n      SelectRow: \"行を選択\",\r\n      AscendingText: \"昇順\",\r\n      DescendingText: \"降順\",\r\n      NoneText: \"なし\",\r\n    },\r\n    pager: {\r\n      currentPageInfo: \"{0}ページのうち{1}ページ\",\r\n      totalItemsInfo: \"（{0}アイテム）\",\r\n      firstPageTooltip: \"最初のページに移動\",\r\n      lastPageTooltip: \"最後のページに移動\",\r\n      nextPageTooltip: \"次のページに進む\",\r\n      previousPageTooltip: \"前のページに移動\",\r\n      nextPagerTooltip: \"次のポケットベルアイテムに移動\",\r\n      previousPagerTooltip: \"前のポケットベルアイテムに移動\",\r\n      pagerDropDown: \"ページごとのアイテム\",\r\n      pagerAllDropDown: \"アイテム\",\r\n      All: \"すべて\",\r\n      totalItemInfo: \"（{0}アイテム）\",\r\n      Container: \"ページャ コンテナ\",\r\n      Information: \"ポケットベル情報\",\r\n      ExternalMsg: \"ポケットベルの外部メッセージ\",\r\n      Page: \"ページ \",\r\n      Of: \" の \",\r\n      Pages: \" ページ\",\r\n    },\r\n    kanban: {\r\n      items: \"アイテム\",\r\n      min: \"分\",\r\n      max: \"マックス\",\r\n      cardsSelected: \"選択したカード\",\r\n      addTitle: \"新しいカードを追加\",\r\n      editTitle: \"カードの詳細を編集\",\r\n      deleteTitle: \"カードを削除\",\r\n      deleteContent: \"このカードを削除してもよろしいですか？\",\r\n      save: \"セーブ\",\r\n      delete: \"削除する\",\r\n      cancel: \"キャンセル\",\r\n      yes: \"はい\",\r\n      no: \"番号\",\r\n      close: \"閉じる\",\r\n      noCard: \"表示するカードがありません\",\r\n      unassigned: \"未割り当て\",\r\n      cards: \"カート\",\r\n    },\r\n    dropdowns: {\r\n      noRecordsTemplate: \"レコードが見つかりません\",\r\n      actionFailureTemplate: \"リクエストに失敗しました\",\r\n      overflowCountTemplate: \"+${count}以上..\",\r\n      selectAllText: \"すべて選択\",\r\n      unSelectAllText: \"すべて選択解除\",\r\n      totalCountTemplate: \"${count}を選択しました\",\r\n    },\r\n    \"drop-down-list\": {\r\n      noRecordsTemplate: \"レコードが見つかりません\",\r\n      actionFailureTemplate: \"リクエストに失敗しました\",\r\n    },\r\n    \"combo-box\": {\r\n      noRecordsTemplate: \"レコードが見つかりません\",\r\n      actionFailureTemplate: \"リクエストに失敗しました\",\r\n    },\r\n    \"auto-complete\": {\r\n      noRecordsTemplate: \"レコードが見つかりません\",\r\n      actionFailureTemplate: \"リクエストに失敗しました\",\r\n    },\r\n    \"multi-select\": {\r\n      noRecordsTemplate: \"レコードが見つかりません\",\r\n      actionFailureTemplate: \"リクエストに失敗しました\",\r\n      overflowCountTemplate: \"+${count}以上..\",\r\n      selectAllText: \"すべて選択\",\r\n      unSelectAllText: \"すべて選択解除\",\r\n      totalCountTemplate: \"${count}を選択しました\",\r\n    },\r\n    listbox: {\r\n      noRecordsTemplate: \"レコードが見つかりません\",\r\n      actionFailureTemplate: \"リクエストに失敗しました\",\r\n      selectAllText: \"すべて選択\",\r\n      unSelectAllText: \"すべて選択解除\",\r\n      moveUp: \"上に移動\",\r\n      moveDown: \"下に移動\",\r\n      moveTo: \"へ引っ越す\",\r\n      moveFrom: \"から移動\",\r\n      moveAllTo: \"すべてに移動\",\r\n      moveAllFrom: \"すべてから移動\",\r\n    },\r\n    spreadsheet: {\r\n      InsertingEmptyValue: \"参照値が無効です。\",\r\n      FindValue: \"価値を見つける\",\r\n      ReplaceValue: \"値を置換\",\r\n      FindReplaceTooltip: \"検索と置換\",\r\n      ByRow: \"行ごと\",\r\n      ByColumn: \"列ごと\",\r\n      MatchExactCellElements: \"セルの内容全体に一致\",\r\n      EnterCellAddress: \"セルアドレスを入力してください\",\r\n      FindAndReplace: \"検索と置換\",\r\n      ReplaceAllEnd: \" 置き換えられた一致\",\r\n      FindNextBtn: \"次を見つける\",\r\n      FindPreviousBtn: \"前を検索\",\r\n      ReplaceBtn: \"交換\",\r\n      ReplaceAllBtn: \"すべて置換\",\r\n      GotoHeader: \"に行く\",\r\n      Sheet: \"シート\",\r\n      SearchWithin: \"範囲内で検索\",\r\n      SearchBy: \"によって検索する\",\r\n      Reference: \"参照\",\r\n      Workbook: \"ワークブック\",\r\n      NoElements: \"お探しのものが見つかりませんでした。\",\r\n      FindWhat: \"何を見つける\",\r\n      ReplaceWith: \"と置換する\",\r\n      FileName: \"ファイル名\",\r\n      ExtendValidation:\r\n        \"選択範囲には、データ検証のないセルが含まれています。これらのセルに検証を拡張しますか?\",\r\n      Yes: \"はい\",\r\n      No: \"いいえ\",\r\n      PROPER:\r\n        \"テキストを適切な大文字と小文字に変換します。最初の文字を大文字に、その他の文字を小文字にします。\",\r\n      Cut: \"切る\",\r\n      Copy: \"コピー\",\r\n      Paste: \"ペースト\",\r\n      PasteSpecial: \"形式を選択して貼り付け\",\r\n      All: \"全て\",\r\n      Values: \"値\",\r\n      Formats: \"フォーマット\",\r\n      Font: \"フォント\",\r\n      FontSize: \"フォントサイズ\",\r\n      Bold: \"ボールド\",\r\n      Italic: \"イタリック\",\r\n      Underline: \"下線\",\r\n      Strikethrough: \"取り消し線\",\r\n      TextColor: \"テキストの色\",\r\n      FillColor: \"塗りつぶしの色\",\r\n      HorizontalAlignment: \"水平方向の配置\",\r\n      AlignLeft: \"左揃え\",\r\n      AlignCenter: \"中心\",\r\n      AlignRight: \"右揃え\",\r\n      VerticalAlignment: \"垂直方向の配置\",\r\n      AlignTop: \"上揃え\",\r\n      AlignMiddle: \"中央揃え\",\r\n      AlignBottom: \"下揃え\",\r\n      MergeCells: \"セルを結合します\",\r\n      MergeAll: \"すべてマージ\",\r\n      MergeHorizontally: \"水平方向に結合\",\r\n      MergeVertically: \"垂直にマージ\",\r\n      Unmerge: \"マージ解除\",\r\n      UnmergeCells: \"セルの結合を解除\",\r\n      SelectMergeType: \"マージ タイプの選択\",\r\n      MergeCellsAlert:\r\n        \"セルを結合すると、左上 (一番上) の値のみが保持されます。とにかくマージしますか？\",\r\n      PasteMergeAlert: \"結合セルに対してはできません。\",\r\n      Borders: \"国境\",\r\n      TopBorders: \"上枠\",\r\n      LeftBorders: \"左ボーダー\",\r\n      RightBorders: \"右ボーダー\",\r\n      BottomBorders: \"下罫線\",\r\n      AllBorders: \"すべての国境\",\r\n      HorizontalBorders: \"横罫線\",\r\n      VerticalBorders: \"縦の境界線\",\r\n      OutsideBorders: \"外側の境界\",\r\n      InsideBorders: \"内枠\",\r\n      NoBorders: \"ノーボーダーズ\",\r\n      BorderColor: \"ボーダの色\",\r\n      BorderStyle: \"ボーダースタイル\",\r\n      InsertFunction: \"挿入機能\",\r\n      Insert: \"入れる\",\r\n      Delete: \"消去\",\r\n      DuplicateSheet: \"複製\",\r\n      MoveRight: \"右に動く\",\r\n      MoveLeft: \"左に移動\",\r\n      Rename: \"名前を変更\",\r\n      Hide: \"隠れる\",\r\n      NameBox: \"ネームボックス\",\r\n      ShowHeaders: \"ヘッダーを表示\",\r\n      HideHeaders: \"ヘッダーを非表示\",\r\n      ShowGridLines: \"グリッド線を表示\",\r\n      HideGridLines: \"グリッド線を非表示\",\r\n      FreezePanes: \"フリーズペイン\",\r\n      FreezeRows: \"行の凍結\",\r\n      FreezeColumns: \"列を固定\",\r\n      UnfreezePanes: \"ペインのフリーズ解除\",\r\n      UnfreezeRows: \"行の凍結解除\",\r\n      UnfreezeColumns: \"列の凍結解除\",\r\n      AddSheet: \"シートを追加\",\r\n      ListAllSheets: \"すべてのシートを一覧表示\",\r\n      CollapseToolbar: \"ツールバーを折りたたむ\",\r\n      ExpandToolbar: \"ツールバーを展開\",\r\n      CollapseFormulaBar: \"数式バーを折りたたむ\",\r\n      ExpandFormulaBar: \"数式バーを展開\",\r\n      File: \"ファイル\",\r\n      Home: \"家\",\r\n      Formulas: \"数式\",\r\n      View: \"意見\",\r\n      New: \"新しい\",\r\n      Open: \"開ける\",\r\n      SaveAs: \"名前を付けて保存\",\r\n      ExcelXlsx: \"マイクロソフトエクセル\",\r\n      ExcelXls: \"マイクロソフト エクセル 97-2003\",\r\n      CSV: \"コンマ区切り値\",\r\n      FormulaBar: \"数式バー\",\r\n      Sort: \"選別\",\r\n      SortAscending: \"上昇\",\r\n      SortDescending: \"降順\",\r\n      CustomSort: \"カスタムソート\",\r\n      AddColumn: \"列を追加\",\r\n      ContainsHeader: \"データにはヘッダーが含まれています\",\r\n      CaseSensitive: \"大文字と小文字を区別\",\r\n      SortBy: \"並び替え\",\r\n      ThenBy: \"その後、\",\r\n      SelectAColumn: \"列を選択\",\r\n      SortEmptyFieldError:\r\n        \"すべてのソート条件には、列を指定する必要があります。選択したソート基準を確認して、再試行してください。\",\r\n      SortDuplicateFieldError:\r\n        \" 値で複数回ソートされています。重複するソート基準を削除して、再試行してください。\",\r\n      SortOutOfRangeError:\r\n        \"使用されている範囲内のセルまたは範囲を選択して、やり直してください。\",\r\n      MultiRangeSortError:\r\n        \"これは、複数の範囲選択では実行できません。 1 つの範囲を選択して、やり直してください。\",\r\n      HideRow: \"行を非表示\",\r\n      HideRows: \"行を非表示\",\r\n      UnhideRows: \"行を再表示\",\r\n      HideColumn: \"列を非表示\",\r\n      HideColumns: \"列を非表示\",\r\n      UnhideColumns: \"列を再表示\",\r\n      InsertRow: \"行を挿入\",\r\n      InsertRows: \"行を挿入\",\r\n      Above: \"その上\",\r\n      Below: \"下\",\r\n      InsertColumn: \"列を挿入\",\r\n      InsertColumns: \"列を挿入する\",\r\n      Before: \"前\",\r\n      After: \"後\",\r\n      DeleteRow: \"行を削除\",\r\n      DeleteRows: \"行を削除\",\r\n      DeleteColumn: \"列を削除\",\r\n      DeleteColumns: \"列を削除\",\r\n      Ok: \"わかった\",\r\n      Close: \"近い\",\r\n      MoreOptions: \"より多くのオプション\",\r\n      Cancel: \"キャンセル\",\r\n      Apply: \"申し込み\",\r\n      MoreColors: \"その他の色\",\r\n      StandardColors: \"標準色\",\r\n      General: \"全般的\",\r\n      Number: \"番号\",\r\n      Currency: \"通貨\",\r\n      Accounting: \"会計\",\r\n      ShortDate: \"ショートデート\",\r\n      LongDate: \"ロングデート\",\r\n      Time: \"時間\",\r\n      Percentage: \"パーセンテージ\",\r\n      Fraction: \"分数\",\r\n      Scientific: \"科学的\",\r\n      Text: \"文章\",\r\n      NumberFormat: \"数値形式\",\r\n      MobileFormulaBarPlaceHolder: \"値または数式を入力してください\",\r\n      PasteAlert:\r\n        \"コピー領域と貼り付け領域が同じサイズではないため、ここに貼り付けることはできません。別の範囲で貼り付けてみてください。\",\r\n      DestroyAlert:\r\n        \"保存せずに現在のブックを破棄して新しいブックを作成してもよろしいですか?\",\r\n      SheetRenameInvalidAlert: \"シート名に無効な文字が含まれています。\",\r\n      SheetRenameEmptyAlert: \"シート名を空にすることはできません。\",\r\n      SheetRenameAlreadyExistsAlert:\r\n        \"シート名は既に存在します。別の名前を入力してください。\",\r\n      DeleteSheetAlert: \"このシートを削除してもよろしいですか?\",\r\n      DeleteSingleLastSheetAlert:\r\n        \"Workbook には、少なくとも 1 つの表示可能なワークシートが含まれている必要があります。\",\r\n      PickACategory: \"カテゴリを選択\",\r\n      Description: \"説明\",\r\n      UnsupportedFile: \"サポートされていないファイル\",\r\n      DataLimitExceeded:\r\n        \"ファイル データが大きすぎるため、処理に時間がかかります。続行しますか?\",\r\n      FileSizeLimitExceeded:\r\n        \"ファイル サイズが大きすぎて、処理に時間がかかります。続行しますか?\",\r\n      InvalidUrl: \"無効なURL\",\r\n      SUM: \"一連の数値および/またはセルを追加します。\",\r\n      SUMIF: \"指定された条件に基づいてセルを追加します。\",\r\n      SUMIFS: \"指定した条件に基づいてセルを追加します。\",\r\n      ABS: \"数値の符号なしの値を返します。\",\r\n      RAND: \"0 から 1 の間の乱数を返します。\",\r\n      RANDBETWEEN: \"指定された値に基づいてランダムな整数を返します。\",\r\n      FLOOR: \"指定された係数の最も近い倍数に数値を切り捨てます。\",\r\n      CEILING: \"指定された係数の最も近い倍数に数値を切り上げます。\",\r\n      PRODUCT: \"一連の数値および/またはセルを乗算します。\",\r\n      AVERAGE: \"テキストを除く一連の数値および/またはセルの平均を計算します。\",\r\n      AVERAGEIF: \"指定された基準に基づいてセルの平均を計算します。\",\r\n      AVERAGEIFS: \"指定された条件に基づいてセルの平均を計算します。\",\r\n      AVERAGEA:\r\n        \"TRUE を 1、テキストおよび FALSE を 0 と評価するセルの平均を計算します。\",\r\n      COUNT: \"範囲内の数値を含むセルをカウントします。\",\r\n      COUNTIF: \"指定した条件で細胞を数えます。\",\r\n      COUNTIFS: \"指定した条件で細胞を数えます。\",\r\n      COUNTA: \"範囲内の値を含むセルをカウントします。\",\r\n      MIN: \"指定された引数の最小数を返します。\",\r\n      MAX: \"指定された引数の最大数を返します。\",\r\n      DATE: \"指定された年、月、日に基づいて日付を返します。\",\r\n      DAY: \"指定された日付から日を返します。\",\r\n      DAYS: \"2 つの日付の間の日数を返します。\",\r\n      IF: \"指定された式に基づいて値を返します。\",\r\n      IFS: \"指定された複数の式に基づいて値を返します。\",\r\n      CalculateAND:\r\n        \"すべての引数が TRUE の場合は TRUE を返し、それ以外の場合は FALSE を返します。\",\r\n      CalculateOR:\r\n        \"引数のいずれかが TRUE の場合は TRUE を返し、それ以外の場合は FALSE を返します。\",\r\n      IFERROR:\r\n        \"エラーが見つからない場合は値を返します。それ以外の場合は、指定された値を返します。\",\r\n      CHOOSE: \"インデックス番号に基づいて、値のリストから値を返します。\",\r\n      INDEX: \"行番号と列番号に基づいて、指定された範囲内のセルの値を返します。\",\r\n      FIND: \"大文字と小文字を区別して、別の文字列内の文字列の位置を返します。\",\r\n      CONCATENATE: \"2 つ以上の文字列を結合します。\",\r\n      CONCAT: \"リストまたはテキスト文字列の範囲を連結します。\",\r\n      SUBTOTAL: \"指定された関数番号を使用して範囲の小計を返します。\",\r\n      RADIANS: \"度をラジアンに変換します。\",\r\n      MATCH: \"指定された範囲内の指定された値の相対位置を返します。\",\r\n      SLOPE: \"データ ポイントの線形回帰から直線の傾きを返します。\",\r\n      INTERCEPT: \"線形回帰によって Y 切片の点を計算します。\",\r\n      UNIQUE: \"範囲または配列から一意の値を返します\",\r\n      TEXT: \"値を指定された数値形式のテキストに変換します。\",\r\n      DefineNameExists: \"この名前は既に存在します。別の名前を試してください。\",\r\n      CircularReference:\r\n        \"数式が 1 つ以上の循環参照を参照している場合、計算が正しく行われない可能性があります。\",\r\n      SORT: \"配列の範囲をソートします\",\r\n      T: \"値がテキストかどうかをチェックし、テキストを返します。\",\r\n      EXACT:\r\n        \"2 つのテキスト文字列が完全に同じかどうかをチェックし、TRUE または FALSE を返します。\",\r\n      LEN: \"指定された文字列の文字数を返します。\",\r\n      MOD: \"数値を除数で割った余りを返します。\",\r\n      ODD: \"正の数値と負の数値を最も近い奇数に切り上げます。\",\r\n      PI: \"円周率の値を返します。\",\r\n      COUNTBLANK: \"指定されたセル範囲内の空のセルの数を返します。\",\r\n      EVEN: \"正の数と負の数を最も近い偶数に切り上げます。\",\r\n      DECIMAL: \"指定された基数の数値のテキスト表現を 10 進数に変換します。\",\r\n      ADDRESS:\r\n        \"指定された行番号と列番号を指定して、セル参照をテキストとして返します。\",\r\n      CHAR: \"指定された番号から文字を返します。\",\r\n      CODE: \"指定された文字列の最初の文字の数値コードを返します。\",\r\n      DOLLAR: \"数値を通貨形式のテキストに変換します。\",\r\n      SMALL: \"指定された配列で k 番目に小さい値を返します。\",\r\n      LARGE: \"指定された配列で k 番目に大きい値を返します。\",\r\n      TIME: \"時間、分、秒を時刻形式のテキストに変換します。\",\r\n      DEGREES: \"ラジアンを度に変換します。\",\r\n      FACT: \"数値の階乗を返します。\",\r\n      MEDIAN: \"指定された数値セットの中央値を返します。\",\r\n      EDATE: \"指定された日付から指定された月数だけ前または後の日付を返します。\",\r\n      DATEVALUE: \"日付文字列を日付値に変換します。\",\r\n      NOW: \"現在の日付と時刻を返します。\",\r\n      HOUR: \"指定された時間文字列の時間数を返します。\",\r\n      MINUTE: \"指定された時間文字列の分数を返します。\",\r\n      SECOND: \"指定された時間文字列の秒数を返します。\",\r\n      MONTH: \"指定された日付文字列の月数を返します。\",\r\n      OR: \"また\",\r\n      AND: \"と\",\r\n      CustomFilterDatePlaceHolder: \"日付を選択してください\",\r\n      CustomFilterPlaceHolder: \"値を入力してください\",\r\n      CustomFilter: \"カスタム フィルター\",\r\n      Between: \"間\",\r\n      MatchCase: \"マッチケース\",\r\n      DateTimeFilter: \"日時フィルター\",\r\n      Undo: \"元に戻す\",\r\n      Redo: \"やり直し\",\r\n      ClearAllFilter: \"クリア\",\r\n      ReapplyFilter: \"再申請\",\r\n      DateFilter: \"日付フィルター\",\r\n      TextFilter: \"テキスト フィルター\",\r\n      NumberFilter: \"数値フィルター\",\r\n      ClearFilter: \"フィルターをクリア\",\r\n      NoResult: \"一致が見つかりません\",\r\n      FilterFalse: \"間違い\",\r\n      FilterTrue: \"真実\",\r\n      Blanks: \"ブランクス\",\r\n      SelectAll: \"すべて選択\",\r\n      GreaterThanOrEqual: \"以上\",\r\n      GreaterThan: \"より大きい\",\r\n      LessThanOrEqual: \"以下\",\r\n      LessThan: \"未満\",\r\n      NotEqual: \"等しくない\",\r\n      Equal: \"同等\",\r\n      Contains: \"含む\",\r\n      NotContains: \"含まない\",\r\n      EndsWith: \"次で終わる\",\r\n      NotEndsWith: \"次で終わらない\",\r\n      StartsWith: \"次で始まる\",\r\n      NotStartsWith: \"次で始まらない\",\r\n      IsEmpty: \"空\",\r\n      IsNotEmpty: \"空ではない\",\r\n      ClearButton: \"クリア\",\r\n      FilterButton: \"フィルター\",\r\n      CancelButton: \"キャンセル\",\r\n      OKButton: \"わかった\",\r\n      Search: \"探す\",\r\n      DataValidation: \"データ検証\",\r\n      CellRange: \"セル範囲\",\r\n      Allow: \"許可する\",\r\n      Data: \"データ\",\r\n      Minimum: \"最小\",\r\n      Maximum: \"最大\",\r\n      IgnoreBlank: \"空白を無視\",\r\n      WholeNumber: \"整数\",\r\n      Decimal: \"小数\",\r\n      Date: \"日にち\",\r\n      TextLength: \"テキストの長さ\",\r\n      List: \"リスト\",\r\n      NotBetween: \"間にない\",\r\n      EqualTo: \"に等しい\",\r\n      NotEqualTo: \"等しくない\",\r\n      GreaterThanOrEqualTo: \"以上\",\r\n      LessThanOrEqualTo: \"以下\",\r\n      InCellDropDown: \"セル内ドロップダウン\",\r\n      Sources: \"ソース\",\r\n      Value: \"価値\",\r\n      Retry: \"リトライ\",\r\n      DialogError:\r\n        \"リスト ソースは、単一の行または列への参照である必要があります。\",\r\n      MinMaxError: \"最大値は最小値以上である必要があります。\",\r\n      InvalidNumberError: \"有効な番号を入力してください。\",\r\n      Spreadsheet: \"スプレッドシート\",\r\n      MoreValidation: \"この選択には、複数の検証が含まれています。\",\r\n      FileNameError:\r\n        'ファイル名に \\\\ / : * ? などの文字を含めることはできません。 \" < > [ ] |',\r\n      ValidationError:\r\n        \"この値は、セルに定義されたデータ検証の制限と一致しません。\",\r\n      ListLengthError: \"リストの値は 256 文字までしか使用できません\",\r\n      ProtectSheet: \"プロテクトシート\",\r\n      UnprotectSheet: \"シートの保護を解除\",\r\n      SelectCells: \"ロックされたセルを選択\",\r\n      SelectUnlockedCells: \"ロックされていないセルを選択\",\r\n      Save: \"セーブ\",\r\n      EmptyFileName: \"ファイル名を空にすることはできません。\",\r\n      LargeName: \"名前が長すぎます。\",\r\n      FormatCells: \"セルの書式設定\",\r\n      FormatRows: \"行のフォーマット\",\r\n      FormatColumns: \"列の書式設定\",\r\n      InsertLinks: \"リンクを挿入する\",\r\n      ProtectContent: \"ロックされたセルの内容を保護する\",\r\n      ProtectAllowUser:\r\n        \" このワークシートのすべてのユーザーに次のことを許可します。\",\r\n      EditAlert:\r\n        \"変更しようとしているセルは保護されています。変更するには、シートの保護を解除してください。\",\r\n      ReadonlyAlert:\r\n        \"読み取り専用モードのセルを変更しようとしています。変更を行うには、読み取り専用ステータスを無効にしてください。\",\r\n      ClearValidation: \"クリア検証\",\r\n      ISNUMBER: \"値が数値として解析される場合は true を返します。\",\r\n      ROUND: \"数値を指定された桁数に丸めます。\",\r\n      GEOMEAN: \"正のデータの配列または範囲の幾何平均を返します。\",\r\n      POWER: \"数値の累乗の結果を返します\",\r\n      LOG: \"指定した底に対する数値の対数を返します。\",\r\n      TRUNC: \"指定された小数点以下の桁数に数値を切り捨てた値を返します。\",\r\n      EXP: \"指定された数で累乗された e を返します。\",\r\n      LOOKUP:\r\n        \"行または列の範囲内の値を検索し、行または列の範囲内の同じ位置にある値を返します。\",\r\n      HLOOKUP:\r\n        \"値テーブルの最上行の値を検索し、指定されたテーブル行の同じ列の値を返します。\",\r\n      VLOOKUP:\r\n        \"検索範囲の最初の列で指定された値を検索し、行の 2 列目の対応する値を返します。\",\r\n      NOT: \"指定されたブール式の逆数を返します。\",\r\n      EOMONTH:\r\n        \"最初に指定された開始日から指定された月数前または後の月の最後の日を返します。\",\r\n      SQRT: \"正の数の平方根を返します。\",\r\n      ROUNDDOWN: \"数値をゼロに丸めます。\",\r\n      RSQ: \"known_y および known_x データ ポイントに基づいて、二乗ピアソン積モーメント相関係数を返します。\",\r\n      HighlightCellsRules: \"セルの強調表示ルール\",\r\n      CFEqualTo: \"に等しい\",\r\n      TextThatContains: \"含まれるテキスト\",\r\n      ADateOccuring: \"発生日\",\r\n      DuplicateValues: \"重複値\",\r\n      TopBottomRules: \"上/下のルール\",\r\n      Top10Items: \"トップ10アイテム\",\r\n      Top10: \"トップ10\",\r\n      Bottom10Items: \"下位 10 項目\",\r\n      Bottom10: \"下位10位\",\r\n      AboveAverage: \"平均以上\",\r\n      BelowAverage: \"平均以下の\",\r\n      FormatCellsGreaterThan: \"GREATER THAN のセルを書式設定する:\",\r\n      FormatCellsLessThan: \"LESS THAN のセルを書式設定する:\",\r\n      FormatCellsBetween: \"BETWEEN のセルを書式設定:\",\r\n      FormatCellsEqualTo: \"等しいセルをフォーマットする:\",\r\n      FormatCellsThatContainTheText: \"テキストを含むセルをフォーマットします。\",\r\n      FormatCellsThatContainADateOccurring:\r\n        \"発生した日付を含むセルをフォーマットします。\",\r\n      FormatCellsDuplicate: \"以下を含むセルを書式設定します。\",\r\n      FormatCellsTop: \"TOP にランク付けされたセルをフォーマットします。\",\r\n      FormatCellsBottom: \"BOTTOM にランク付けされたセルをフォーマットします。\",\r\n      FormatCellsAbove: \"ABOVE AVERAGE のセルを書式設定する:\",\r\n      FormatCellsBelow: \"BELOW AVERAGE のセルをフォーマットする:\",\r\n      With: \"と\",\r\n      DataBars: \"データ バー\",\r\n      ColorScales: \"カラースケール\",\r\n      IconSets: \"アイコンセット\",\r\n      ClearRules: \"クリアルール\",\r\n      SelectedCells: \"選択したセルからルールをクリア\",\r\n      EntireSheet: \"シート全体からルールをクリア\",\r\n      LightRedFillWithDarkRedText: \"薄い赤で塗りつぶし、濃い赤のテキスト\",\r\n      YellowFillWithDarkYellowText: \"濃い黄色のテキストで黄色の塗りつぶし\",\r\n      GreenFillWithDarkGreenText: \"緑の塗りつぶし、濃い緑のテキスト\",\r\n      RedFill: \"レッドフィル\",\r\n      RedText: \"赤いテキスト\",\r\n      Duplicate: \"複製\",\r\n      Unique: \"個性的\",\r\n      And: \"と\",\r\n      WebPage: \"ウェブページ\",\r\n      ThisDocument: \"このドキュメント\",\r\n      DisplayText: \"表示テキスト\",\r\n      Url: \"URL\",\r\n      CellReference: \"セル参照\",\r\n      DefinedNames: \"定義された名前\",\r\n      EnterTheTextToDisplay: \"表示するテキストを入力してください\",\r\n      EnterTheUrl: \"URLを入力してください\",\r\n      INT: \"数値を最も近い整数に戻します。\",\r\n      SUMPRODUCT: \"指定された範囲の配列の積の合計を返します。\",\r\n      TODAY: \"現在の日付を日付値として返します。\",\r\n      ROUNDUP: \"ゼロ以外の数値を丸めます。\",\r\n      Link: \"リンク\",\r\n      Hyperlink: \"ハイパーリンク\",\r\n      EditHyperlink: \"ハイパーリンクを編集\",\r\n      OpenHyperlink: \"ハイパーリンクを開く\",\r\n      RemoveHyperlink: \"ハイパーリンクを削除\",\r\n      InvalidHyperlinkAlert:\r\n        \"このサイトのアドレスは無効です。アドレスを確認して、もう一度お試しください。\",\r\n      InsertLink: \"リンクを挿入\",\r\n      EditLink: \"リンクを編集\",\r\n      WrapText: \"テキストを折り返す\",\r\n      Update: \"アップデート\",\r\n      SortAndFilter: \"並べ替えとフィルター\",\r\n      Filter: \"フィルター\",\r\n      FilterCellValue: \"選択したセルの値でフィルタ\",\r\n      FilterOutOfRangeError:\r\n        \"使用されている範囲内のセルまたは範囲を選択して、やり直してください。\",\r\n      ClearFilterFrom: \"フィルターをクリアする\",\r\n      LN: \"数値の自然対数を返します。\",\r\n      DefineNameInValid: \"入力した名前は無効です。\",\r\n      EmptyError: \"値を入力してください\",\r\n      ClearHighlight: \"ハイライトをクリア\",\r\n      HighlightInvalidData: \"無効なデータをハイライト\",\r\n      Clear: \"クリア\",\r\n      ClearContents: \"内容をクリア\",\r\n      ClearAll: \"すべてクリア\",\r\n      ClearFormats: \"クリアフォーマット\",\r\n      ClearHyperlinks: \"ハイパーリンクをクリア\",\r\n      Image: \"画像\",\r\n      ConditionalFormatting: \"条件付き書式\",\r\n      BlueDataBar: \"青いデータ バー\",\r\n      GreenDataBar: \"緑のデータ バー\",\r\n      RedDataBar: \"赤いデータ バー\",\r\n      OrangeDataBar: \"オレンジ色のデータ バー\",\r\n      LightBlueDataBar: \"水色のデータ バー\",\r\n      PurpleDataBar: \"紫色のデータ バー\",\r\n      GYRColorScale: \"緑 - 黄 - 赤のカラー スケール\",\r\n      RYGColorScale: \"赤 - 黄 - 緑のカラー スケール\",\r\n      GWRColorScale: \"緑 - 白 - 赤のカラー スケール\",\r\n      RWGColorScale: \"赤 - 白 - 緑のカラー スケール\",\r\n      BWRColorScale: \"青 - 白 - 赤のカラー スケール\",\r\n      RWBColorScale: \"赤 - 白 - 青のカラー スケール\",\r\n      WRColorScale: \"白 - 赤のカラー スケール\",\r\n      RWColorScale: \"赤 - 白のカラー スケール\",\r\n      GWColorScale: \"緑 - 白のカラー スケール\",\r\n      WGColorScale: \"白 - 緑のカラー スケール\",\r\n      GYColorScale: \"緑 - 黄のカラー スケール\",\r\n      YGColorScale: \"黄 - 緑のカラー スケール\",\r\n      ThreeArrowsColor: \"3 矢印 (色付き)\",\r\n      ThreeArrowsGray: \"3 矢印 (グレー)\",\r\n      ThreeTriangles: \"3つの三角形\",\r\n      FourArrowsColor: \"4 矢印 (グレー)\",\r\n      FourArrowsGray: \"4 矢印 (色付き)\",\r\n      FiveArrowsColor: \"5 矢印 (グレー)\",\r\n      FiveArrowsGray: \"5 矢印 (色付き)\",\r\n      ThreeTrafficLights1: \"3 つの信号機 (縁なし)\",\r\n      ThreeTrafficLights2: \"3 信号機 (リム付き)\",\r\n      ThreeSigns: \"3 サイン\",\r\n      FourTrafficLights: \"4 信号機\",\r\n      RedToBlack: \"赤から黒へ\",\r\n      ThreeSymbols1: \"3 つの記号 (丸で囲んだ部分)\",\r\n      ThreeSymbols2: \"3 つの記号 (丸なし)\",\r\n      ThreeFlags: \"3 フラグ\",\r\n      ThreeStars: \"3つ星\",\r\n      FourRatings: \"4 評価\",\r\n      FiveQuarters: \"5クォーター\",\r\n      FiveRatings: \"5 評価\",\r\n      FiveBoxes: \"5箱\",\r\n      Chart: \"チャート\",\r\n      Column: \"桁\",\r\n      Bar: \"バー\",\r\n      Area: \"範囲\",\r\n      Pie: \"パイ\",\r\n      Doughnut: \"ドーナツ\",\r\n      PieAndDoughnut: \"パイ・ドーナツ\",\r\n      Line: \"ライン\",\r\n      Radar: \"レーダー\",\r\n      Scatter: \"散布\",\r\n      ChartDesign: \"グラフのデザイン\",\r\n      ClusteredColumn: \"クラスター化された列\",\r\n      StackedColumn: \"積み上げ縦棒\",\r\n      StackedColumn100: \"100% 積み上げ縦棒\",\r\n      ClusteredBar: \"クラスタ化されたバー\",\r\n      StackedBar: \"積み上げ棒\",\r\n      StackedBar100: \"100%積み上げ棒グラフ\",\r\n      StackedArea: \"積み上げ面積\",\r\n      StackedArea100: \"100% 積み上げ面積\",\r\n      StackedLine: \"積上げ線\",\r\n      StackedLine100: \"100% 積み上げ線\",\r\n      LineMarker: \"マーカー付きの線\",\r\n      StackedLineMarker: \"マーカー付きの積み上げ線\",\r\n      StackedLine100Marker: \"マーカー付きの 100% 積み上げ線\",\r\n      AddChartElement: \"グラフ要素を追加\",\r\n      Axes: \"軸\",\r\n      AxisTitle: \"軸のタイトル\",\r\n      ChartTitle: \"グラフのタイトル\",\r\n      DataLabels: \"データ ラベル\",\r\n      Gridlines: \"グリッドライン\",\r\n      Legends: \"伝説\",\r\n      PrimaryHorizontal: \"プライマリ水平\",\r\n      PrimaryVertical: \"プライマリ バーティカル\",\r\n      None: \"なし\",\r\n      AboveChart: \"上図\",\r\n      Center: \"中心\",\r\n      InsideEnd: \"インサイドエンド\",\r\n      InsideBase: \"インサイドベース\",\r\n      OutsideEnd: \"アウトサイドエンド\",\r\n      PrimaryMajorHorizontal: \"主主水平\",\r\n      PrimaryMajorVertical: \"プライマリ メジャー 垂直\",\r\n      PrimaryMinorHorizontal: \"プライマリ マイナー ホリゾンタル\",\r\n      PrimaryMinorVertical: \"プライマリーマイナーバーティカル\",\r\n      Right: \"右\",\r\n      Left: \"左\",\r\n      Bottom: \"下\",\r\n      Top: \"上\",\r\n      SwitchRowColumn: \"行/列の切り替え\",\r\n      ChartTheme: \"グラフのテーマ\",\r\n      ChartType: \"グラフの種類\",\r\n      Material: \"素材\",\r\n      Fabric: \"ファブリック\",\r\n      Bootstrap: \"ブートストラップ\",\r\n      HighContrastLight: \"ハイコントラストライト\",\r\n      MaterialDark: \"マテリアルダーク\",\r\n      FabricDark: \"ファブリックダーク\",\r\n      HighContrast: \"ハイコントラスト\",\r\n      BootstrapDark: \"ブートストラップ ダーク\",\r\n      Bootstrap4: \"ブートストラップ4\",\r\n      Bootstrap5Dark: \"Bootstrap5 ダーク\",\r\n      Bootstrap5: \"ブートストラップ5\",\r\n      Tailwind: \"追い風\",\r\n      TailwindDark: \"追い風ダーク\",\r\n      VerticalAxisTitle: \"縦軸のタイトル\",\r\n      HorizontalAxisTitle: \"横軸のタイトル\",\r\n      EnterTitle: \"タイトルを入力\",\r\n      UnprotectWorksheet: \"シートの保護を解除\",\r\n      ReEnterPassword: \"続行するにはパスワードを再入力してください\",\r\n      SheetPassword: \"シートの保護を解除するパスワード:\",\r\n      ProtectWorkbook: \"ブックの保護\",\r\n      Password: \"パスワード (オプション):\",\r\n      EnterThePassword: \"パスワードを入力してください\",\r\n      ConfirmPassword: \"パスワードを認証する\",\r\n      EnterTheConfirmPassword: \"パスワードを再入力してください\",\r\n      PasswordAlert: \"確認パスワードが同一ではありません\",\r\n      UnprotectWorkbook: \"ブックの保護を解除する\",\r\n      UnprotectPasswordAlert: \"入力したパスワードが正しくありません。\",\r\n      IncorrectPassword:\r\n        \"指定されたパスワードでファイルまたはワークシートを開くことができません\",\r\n      PasswordAlertMsg: \"パスワードを入力してください\",\r\n      ConfirmPasswordAlertMsg: \"確認用パスワードを入力してください\",\r\n      IsProtected: \"保護されています\",\r\n      PDF: \"PDF文書\",\r\n      AutoFillMergeAlertMsg:\r\n        \"これを行うには、結合されたすべてのセルが同じサイズである必要があります。\",\r\n      Fluent: \"流暢\",\r\n      FluentDark: \"フルーエントダーク\",\r\n      Fluent2: \"流暢 2\",\r\n      Fluent2Dark: \"フルーエント 2 ダーク\",\r\n      Fluent2HighContrast: \"Fluent 2 ハイコントラスト\",\r\n      Custom: \"カスタム\",\r\n      WEEKDAY: \"日付に対応する曜日を返します。\",\r\n      FillSeries: \"塗りつぶしシリーズ\",\r\n      CopyCells: \"セルをコピー\",\r\n      FillFormattingOnly: \"塗りつぶし書式のみ\",\r\n      FillWithoutFormatting: \"フォーマットせずに埋める\",\r\n      CustomFormat: \"カスタム数値フォーマット\",\r\n      CustomFormatPlaceholder: \"カスタム形式を入力または選択してください\",\r\n      CustomFormatTypeList: \"タイプ\",\r\n      CellReferenceTypoError:\r\n        \"セル参照にタイプミスが見つかりました。この参照を次のように修正しますか?\",\r\n      AddCurrentSelection: \"現在の選択をフィルターに追加\",\r\n      ExternalWorkbook:\r\n        \"インポートされた Excel ファイルには、外部ワークブック参照が含まれています。そのファイルをインポートしますか?\",\r\n      Directional: \"指向性\",\r\n      Shapes: \"形\",\r\n      Indicators: \"指標\",\r\n      Ratings: \"評価\",\r\n      InvalidFormulaError: \"無効な数式を入力したことがわかりました。\",\r\n      InvalidArguments: \"無効な引数を含む数式を入力したことがわかりました。\",\r\n      EmptyExpression: \"空の式を含む数式を入力したことがわかりました。\",\r\n      MismatchedParenthesis:\r\n        \"1 つ以上の開き括弧または閉じ括弧が欠落している数式を入力したことがわかりました。\",\r\n      ImproperFormula: \"不適切な数式を入力したことがわかりました。\",\r\n      WrongNumberOfArguments:\r\n        \"間違った数の引数を含む数式を入力したことがわかりました。\",\r\n      Requires3Arguments:\r\n        \"3 つの引数を必要とする数式を入力したことがわかりました。\",\r\n      MismatchedStringQuotes:\r\n        \"引用符が一致しない数式を入力したことがわかりました。\",\r\n      FormulaCircularRef: \"循環参照を含む数式を入力したことがわかりました。\",\r\n    },\r\n    filemanager: {\r\n      NewFolder: \"新しいフォルダー\",\r\n      Upload: \"アップロードする\",\r\n      Delete: \"削除\",\r\n      Rename: \"リネーム\",\r\n      Download: \"ダウンロード\",\r\n      Cut: \"切る\",\r\n      Copy: \"コピー\",\r\n      Paste: \"ペースト\",\r\n      SortBy: \"並び替え\",\r\n      Refresh: \"リフレッシュ\",\r\n      \"Item-Selection\": \"選択されたアイテム\",\r\n      \"Items-Selection\": \"選択されたアイテム\",\r\n      View: \"見る\",\r\n      Details: \"詳細\",\r\n      SelectAll: \"すべて選択\",\r\n      Open: \"開いた\",\r\n      \"Tooltip-NewFolder\": \"新しいフォルダー\",\r\n      \"Tooltip-Upload\": \"アップロードする\",\r\n      \"Tooltip-Delete\": \"削除\",\r\n      \"Tooltip-Rename\": \"リネーム\",\r\n      \"Tooltip-Download\": \"ダウンロード\",\r\n      \"Tooltip-Cut\": \"切る\",\r\n      \"Tooltip-Copy\": \"コピー\",\r\n      \"Tooltip-Paste\": \"ペースト\",\r\n      \"Tooltip-SortBy\": \"並び替え\",\r\n      \"Tooltip-Refresh\": \"リフレッシュ\",\r\n      \"Tooltip-Selection\": \"明確な選択\",\r\n      \"Tooltip-View\": \"見る\",\r\n      \"Tooltip-Details\": \"詳細\",\r\n      \"Tooltip-SelectAll\": \"すべて選択\",\r\n      Name: \"名前\",\r\n      Size: \"サイズ\",\r\n      DateModified: \"修正済み\",\r\n      DateCreated: \"作成日\",\r\n      Path: \"道\",\r\n      Modified: \"修正済み\",\r\n      Created: \"作成した\",\r\n      Location: \"ロケーション\",\r\n      Type: \"タイプ\",\r\n      Permission: \"許可\",\r\n      Ascending: \"上昇\",\r\n      Descending: \"降順\",\r\n      None: \"なし\",\r\n      \"View-LargeIcons\": \"大きなアイコン\",\r\n      \"View-Details\": \"詳細\",\r\n      Search: \"探す\",\r\n      \"Button-Ok\": \"OK\",\r\n      \"Button-Cancel\": \"キャンセル\",\r\n      \"Button-Yes\": \"はい\",\r\n      \"Button-No\": \"番号\",\r\n      \"Button-Create\": \"作成する\",\r\n      \"Button-Save\": \"セーブ\",\r\n      \"Header-NewFolder\": \"フォルダ\",\r\n      \"Content-NewFolder\": \"フォルダー名を入力してください\",\r\n      \"Header-Rename\": \"リネーム\",\r\n      \"Content-Rename\": \"新しい名前を入力してください\",\r\n      \"Header-Rename-Confirmation\": \"確認の名前を変更\",\r\n      \"Content-Rename-Confirmation\":\r\n        \"ファイル名拡張子を変更すると、ファイルが不安定になる可能性があります。変更してもよろしいですか？\",\r\n      \"Header-Delete\": \"ファイルを削除する\",\r\n      \"Content-Delete\": \"このファイルを削除してもよろしいですか？\",\r\n      \"Header-Folder-Delete\": \"フォルダを削除\",\r\n      \"Content-Folder-Delete\": \"このフォルダを削除してもよろしいですか？\",\r\n      \"Header-Multiple-Delete\": \"複数のファイルを削除する\",\r\n      \"Content-Multiple-Delete\":\r\n        \"これらの{0}ファイルを削除してもよろしいですか？\",\r\n      \"Header-Duplicate\": \"ファイル/フォルダーが存在します\",\r\n      \"Content-Duplicate\":\r\n        \"{0}はすでに存在します。名前を変更して貼り付けますか？\",\r\n      \"Header-Upload\": \"ファイルをアップロードする\",\r\n      Error: \"エラー\",\r\n      \"Validation-Empty\":\r\n        \"ファイルまたはフォルダー名を空にすることはできません。\",\r\n      \"Validation-Invalid\":\r\n        'ファイルまたはフォルダー名{0}に無効な文字が含まれています。別の名前を使用してください。有効なファイル名またはフォルダー名の末尾にドットまたはスペースを含めることはできません。また、次の文字を含めることはできません。\\\\ /：*？ \"<> |',\r\n      \"Validation-NewFolder-Exists\":\r\n        \"{0}という名前のファイルまたはフォルダーは既に存在します。\",\r\n      \"Validation-Rename-Exists\":\r\n        \"{0}を{1}に名前変更できません：宛先は既に存在します。\",\r\n      \"Folder-Empty\": \"このフォルダーは空です\",\r\n      \"File-Upload\": \"ここにファイルをドラッグしてアップロードします\",\r\n      \"Search-Empty\": \"結果が見つかりません\",\r\n      \"Search-Key\": \"別のキーワードで試してください\",\r\n      \"Filter-Empty\": \"結果が見つかりません\",\r\n      \"Filter-Key\": \"別のフィルターで試してください\",\r\n      \"Sub-Folder-Error\":\r\n        \"宛先フォルダーは、ソースフォルダーのサブフォルダーです。\",\r\n      \"Same-Folder-Error\": \"宛先フォルダーはソースフォルダーと同じです。\",\r\n      \"Access-Denied\": \"アクセスが拒否されました\",\r\n      \"Access-Details\": \"このフォルダにアクセスする権限がありません。\",\r\n      \"Header-Retry\": \"ファイルが既に存在します\",\r\n      \"Content-Retry\":\r\n        \"この名前のファイルはこのフォルダーに既に存在します。何をしたいですか？\",\r\n      \"Button-Keep-Both\": \"両方とも\",\r\n      \"Button-Replace\": \"交換\",\r\n      \"Button-Skip\": \"スキップ\",\r\n      \"ApplyAll-Label\": \"現在のすべてのアイテムのためにこれを行います\",\r\n      KB: \"KB\",\r\n      \"Access-Message\":\r\n        \"{0}にはアクセスできません。 {1}アクションを実行するには権限が必要です。\",\r\n      \"Network-Error\":\r\n        \"XMLHTTPRequestでの送信に失敗しました：ロードに失敗しました\",\r\n      \"Server-Error\": \"サーバーエラー：からの無効な応答\",\r\n    },\r\n    calendar: {\r\n      today: \"今日\",\r\n    },\r\n    datepicker: {\r\n      today: \"今日\",\r\n      placeholder: \"日付を選択してください\",\r\n    },\r\n    daterangepicker: {\r\n      placeholder: \"期間を選択してください\",\r\n      startLabel: \"開始日\",\r\n      endLabel: \"終了日\",\r\n      applyText: \"適用する\",\r\n      cancelText: \"キャンセル\",\r\n      selectedDays: \"選択された日\",\r\n      days: \"日々\",\r\n      customRange: \"カスタム範囲\",\r\n    },\r\n    timepicker: {\r\n      placeholder: \"時間を選んでください\",\r\n    },\r\n    datetimepicker: {\r\n      today: \"今日\",\r\n      placeholder: \"日付と時刻を選択してください\",\r\n    },\r\n    dialog: {\r\n      close: \"閉じる\",\r\n    },\r\n    toast: {\r\n      close: \"閉じる\",\r\n    },\r\n    tab: {\r\n      closeButtonTitle: \"閉じる\",\r\n    },\r\n    schedule: {\r\n      day: \"日\",\r\n      week: \"週間\",\r\n      workWeek: \"仕事の週\",\r\n      month: \"月\",\r\n      year: \"年\",\r\n      agenda: \"議題\",\r\n      weekAgenda: \"週間アジェンダ\",\r\n      workWeekAgenda: \"労働週間の議題\",\r\n      monthAgenda: \"月の議題\",\r\n      today: \"今日\",\r\n      noEvents: \"イベントなし\",\r\n      emptyContainer: \"この日に予定されているイベントはありません。\",\r\n      allDay: \"一日中\",\r\n      start: \"開始\",\r\n      end: \"終わり\",\r\n      more: \"もっと\",\r\n      close: \"閉じる\",\r\n      cancel: \"キャンセル\",\r\n      noTitle: \"（無題）\",\r\n      delete: \"削除\",\r\n      deleteEvent: \"このイベント\",\r\n      deleteMultipleEvent: \"複数のイベントを削除する\",\r\n      selectedItems: \"選択されたアイテム\",\r\n      deleteSeries: \"シリーズ全体\",\r\n      edit: \"編集\",\r\n      editSeries: \"シリーズ全体\",\r\n      editEvent: \"このイベント\",\r\n      createEvent: \"作成する\",\r\n      subject: \"件名\",\r\n      addTitle: \"表題を加える\",\r\n      moreDetails: \"詳細\",\r\n      moreEvents: \"もっとイベント\",\r\n      save: \"セーブ\",\r\n      editContent: \"シリーズの予定をどのように変更しますか?\",\r\n      deleteContent: \"このイベントを削除してもよろしいですか？\",\r\n      deleteMultipleContent: \"選択したイベントを削除してもよろしいですか？\",\r\n      newEvent: \"新しいイベント\",\r\n      title: \"題名\",\r\n      location: \"ロケーション\",\r\n      description: \"説明\",\r\n      timezone: \"タイムゾーン\",\r\n      startTimezone: \"タイムゾーンを開始\",\r\n      endTimezone: \"終了タイムゾーン\",\r\n      repeat: \"繰り返す\",\r\n      saveButton: \"セーブ\",\r\n      cancelButton: \"キャンセル\",\r\n      deleteButton: \"削除\",\r\n      recurrence: \"再発\",\r\n      wrongPattern: \"繰り返しパターンは無効です。\",\r\n      seriesChangeAlert:\r\n        \"このシリーズの特定のインスタンスに加えられた変更をキャンセルし、再びシリーズ全体に一致させますか？\",\r\n      createError:\r\n        \"イベントの期間は、発生する頻度よりも短くする必要があります。期間を短くするか、繰り返しイベントエディターで繰り返しパターンを変更します。\",\r\n      sameDayAlert: \"同じイベントが同じ日に2回発生することはできません。\",\r\n      occurenceAlert:\r\n        \"同じ予定のその後の発生をスキップした場合、定期的な予定の発生を再スケジュールすることはできません。\",\r\n      editRecurrence: \"繰り返しを編集\",\r\n      repeats: \"繰り返し\",\r\n      alert: \"アラート\",\r\n      startEndError: \"選択した終了日は、開始日より前に発生します。\",\r\n      invalidDateError: \"入力された日付値は無効です。\",\r\n      blockAlert:\r\n        \"ブロックされた時間範囲内でイベントをスケジュールすることはできません。\",\r\n      ok: \"OK\",\r\n      of: \"の\",\r\n      yes: \"はい\",\r\n      no: \"番号\",\r\n      occurrence: \"発生\",\r\n      series: \"シリーズ\",\r\n      previous: \"前\",\r\n      next: \"次\",\r\n      timelineDay: \"タイムラインの日\",\r\n      timelineWeek: \"タイムラインウィーク\",\r\n      timelineWorkWeek: \"タイムラインワークウィーク\",\r\n      timelineMonth: \"タイムライン月\",\r\n      timelineYear: \"タイムライン年\",\r\n      editFollowingEvent: \"次のイベント\",\r\n      deleteTitle: \"イベントを削除\",\r\n      editTitle: \"イベントを編集\",\r\n      beginFrom: \"から始まる\",\r\n      endAt: \"で終了\",\r\n      expandAllDaySection: \"終日展開セクション\",\r\n      collapseAllDaySection: \"崩壊-終日-セクション\",\r\n      searchTimezone: \"タイムゾーンを検索\",\r\n      noRecords: \"レコードが見つかりません\",\r\n    },\r\n    recurrenceeditor: {\r\n      none: \"なし\",\r\n      daily: \"毎日\",\r\n      weekly: \"毎週\",\r\n      monthly: \"毎月\",\r\n      month: \"月\",\r\n      yearly: \"毎年\",\r\n      never: \"決して\",\r\n      until: \"まで\",\r\n      count: \"カウント\",\r\n      first: \"最初\",\r\n      second: \"第二\",\r\n      third: \"三番\",\r\n      fourth: \"第4\",\r\n      last: \"最終\",\r\n      repeat: \"繰り返す\",\r\n      repeatEvery: \"繰り返す\",\r\n      on: \"繰り返し\",\r\n      end: \"終わり\",\r\n      onDay: \"日\",\r\n      days: \"日々）\",\r\n      weeks: \"週\",\r\n      months: \"月\",\r\n      years: \"年\",\r\n      every: \"毎回\",\r\n      summaryTimes: \"時間\",\r\n      summaryOn: \"オン\",\r\n      summaryUntil: \"まで\",\r\n      summaryRepeat: \"繰り返し\",\r\n      summaryDay: \"日々）\",\r\n      summaryWeek: \"週\",\r\n      summaryMonth: \"月\",\r\n      summaryYear: \"年\",\r\n      monthWeek: \"月週\",\r\n      monthPosition: \"月の位置\",\r\n      monthExpander: \"月エキスパンダー\",\r\n      yearExpander: \"年エキスパンダー\",\r\n      repeatInterval: \"繰り返し間隔\",\r\n    },\r\n    gantt: {\r\n      emptyRecord: \"表示するレコードはありません\",\r\n      id: \"ID\",\r\n      name: \"名前\",\r\n      startDate: \"開始日\",\r\n      endDate: \"終了日\",\r\n      duration: \"期間\",\r\n      progress: \"進捗\",\r\n      dependency: \"依存\",\r\n      notes: \"ノート\",\r\n      baselineStartDate: \"ベースライン開始日\",\r\n      baselineEndDate: \"ベースライン終了日\",\r\n      taskMode: \"タスクモード\",\r\n      changeScheduleMode: \"スケジュールモードの変更\",\r\n      subTasksStartDate: \"サブタスクの開始日\",\r\n      subTasksEndDate: \"サブタスクの終了日\",\r\n      scheduleStartDate: \"スケジュール開始日\",\r\n      scheduleEndDate: \"スケジュールの終了日\",\r\n      auto: \"自動\",\r\n      manual: \"マニュアル\",\r\n      type: \"タイプ\",\r\n      offset: \"オフセット\",\r\n      resourceName: \"資源\",\r\n      resourceID: \"リソースID\",\r\n      day: \"日\",\r\n      hour: \"時\",\r\n      minute: \"分\",\r\n      days: \"日々\",\r\n      hours: \"時間\",\r\n      minutes: \"数分\",\r\n      generalTab: \"全般\",\r\n      customTab: \"カスタム列\",\r\n      writeNotes: \"メモを書く\",\r\n      addDialogTitle: \"新しい仕事\",\r\n      editDialogTitle: \"タスク情報\",\r\n      saveButton: \"セーブ\",\r\n      add: \"追加\",\r\n      edit: \"編集\",\r\n      update: \"更新\",\r\n      delete: \"削除\",\r\n      cancel: \"キャンセル\",\r\n      search: \"探す\",\r\n      task: \" 仕事\",\r\n      tasks: \" タスク\",\r\n      zoomIn: \"ズームイン\",\r\n      zoomOut: \"ズームアウトする\",\r\n      zoomToFit: \"ズームして合わせる\",\r\n      excelExport: \"Excelエクスポート\",\r\n      csvExport: \"CSVエクスポート\",\r\n      expandAll: \"すべて展開\",\r\n      collapseAll: \"すべて折りたたむ\",\r\n      nextTimeSpan: \"次のタイムスパン\",\r\n      prevTimeSpan: \"前のタイムスパン\",\r\n      okText: \"OK\",\r\n      confirmDelete: \"レコードを削除してもよろしいですか？\",\r\n      from: \"から\",\r\n      to: \"に\",\r\n      taskLink: \"タスクリンク\",\r\n      lag: \"遅れ\",\r\n      start: \"開始\",\r\n      finish: \"終わり\",\r\n      enterValue: \"値を入力してください\",\r\n      taskBeforePredecessor_FS:\r\n        \"「{1}」が終了し、2つのタスクがリンクされる前に「{0}」を移動して開始しました。その結果、リンクは尊重されません。実行するアクションを以下から1つ選択してください\",\r\n      taskAfterPredecessor_FS:\r\n        \"「{0}」を「{1}」から遠ざけ、2つのタスクがリンクされました。その結果、リンクは尊重されません。実行するアクションを以下から1つ選択してください\",\r\n      taskBeforePredecessor_SS:\r\n        \"'{1}'が開始する前に開始するために '{0}'を移動し、2つのタスクがリンクされました。その結果、リンクは尊重されません。実行するアクションを以下から1つ選択してください\",\r\n      taskAfterPredecessor_SS:\r\n        \"'{1}'の開始後に開始するために '{0}'を移動し、2つのタスクがリンクされました。その結果、リンクは尊重されません。以下のアクションを1つ選択して実行します\",\r\n      taskBeforePredecessor_FF:\r\n        \"「{1}」が完了する前に「{0}」を移動して終了し、2つのタスクがリンクされました。その結果、リンクは尊重されません。以下のアクションを1つ選択して実行します\",\r\n      taskAfterPredecessor_FF:\r\n        \"「{1}」が終了し、2つのタスクがリンクされた後、「{0}」を移動して終了しました。その結果、リンクは尊重されません。実行するアクションを以下から1つ選択してください\",\r\n      taskBeforePredecessor_SF:\r\n        \"「{0}」を「{1}」から離れて開始に移動し、2つのタスクがリンクされました。その結果、リンクは尊重されません。実行するアクションを以下から1つ選択してください\",\r\n      taskAfterPredecessor_SF:\r\n        \"「{1}」が開始し、2つのタスクがリンクされた後、「{0}」を移動して終了しました。その結果、リンクは尊重されません。実行するアクションを以下から1つ選択してください\",\r\n      taskInformation: \"タスク情報\",\r\n      deleteTask: \"タスクを削除\",\r\n      deleteDependency: \"依存関係を削除\",\r\n      convert: \"変換する\",\r\n      save: \"セーブ\",\r\n      above: \"上\",\r\n      below: \"未満\",\r\n      child: \"子\",\r\n      milestone: \"マイルストーン\",\r\n      toTask: \"タスクへ\",\r\n      toMilestone: \"マイルストーンへ\",\r\n      eventMarkers: \"イベントマーカー\",\r\n      leftTaskLabel: \"左タスクラベル\",\r\n      rightTaskLabel: \"正しいタスクラベル\",\r\n      timelineCell: \"タイムラインセル\",\r\n      confirmPredecessorDelete: \"依存関係リンクを削除してもよろしいですか？\",\r\n      unit: \"単位\",\r\n      work: \"作業\",\r\n      taskType: \"タスクの種類\",\r\n      unassignedTask: \"割り当てられていないタスク\",\r\n      group: \"グループ\",\r\n      indent: \"インデント\",\r\n      outdent: \"アウトデント\",\r\n      segments: \"セグメント\",\r\n      splitTask: \"分割タスク\",\r\n      mergeTask: \"マージタスク\",\r\n      left: \"左\",\r\n      right: \"正しい\",\r\n      FF: \"FF\",\r\n      FS: \"FS\",\r\n      SF: \"SF\",\r\n      SS: \"SS\",\r\n    },\r\n    richtexteditor: {\r\n      alignments: \"アライメント\",\r\n      justifyLeft: \"左揃え\",\r\n      justifyCenter: \"中央揃え\",\r\n      justifyRight: \"右揃え\",\r\n      justifyFull: \"両端揃え\",\r\n      fontName: \"フォント名\",\r\n      fontSize: \"フォントサイズ\",\r\n      fontColor: \"フォントの色\",\r\n      backgroundColor: \"背景色\",\r\n      bold: \"大胆な\",\r\n      italic: \"イタリック\",\r\n      underline: \"下線\",\r\n      strikethrough: \"取り消し線\",\r\n      clearFormat: \"クリアフォーマット\",\r\n      clearAll: \"すべてクリア\",\r\n      cut: \"切る\",\r\n      copy: \"コピー\",\r\n      paste: \"ペースト\",\r\n      unorderedList: \"箇条書き\",\r\n      orderedList: \"番号付きリスト\",\r\n      indent: \"インデントを増やします\",\r\n      outdent: \"インデントを減らす\",\r\n      undo: \"元に戻す\",\r\n      redo: \"やり直し\",\r\n      superscript: \"上付き\",\r\n      subscript: \"添字\",\r\n      createLink: \"ハイパーリンクを挿入\",\r\n      openLink: \"リンクを開く\",\r\n      editLink: \"リンクを編集\",\r\n      removeLink: \"リンクを削除\",\r\n      image: \"画像を挿入\",\r\n      replace: \"交換\",\r\n      numberFormatList: \"数値フォーマットリスト\",\r\n      bulletFormatList: \"箇条書き形式リスト\",\r\n      audioReplace: \"交換する\",\r\n      videoReplace: \"交換する\",\r\n      videoAlign: \"整列\",\r\n      videoDimension: \"寸法\",\r\n      audioRemove: \"取り除く\",\r\n      videoRemove: \"取り除く\",\r\n      audioLayoutOption: \"レイアウトオプション\",\r\n      videoLayoutOption: \"レイアウトオプション\",\r\n      align: \"整列\",\r\n      caption: \"画像キャプション\",\r\n      remove: \"削除する\",\r\n      insertLink: \"リンクを挿入\",\r\n      display: \"表示\",\r\n      altText: \"代替テキスト\",\r\n      dimension: \"サイズ変更\",\r\n      fullscreen: \"最大化\",\r\n      maximize: \"最大化\",\r\n      minimize: \"最小化\",\r\n      lowerCase: \"小文字\",\r\n      upperCase: \"大文字\",\r\n      print: \"印刷する\",\r\n      formats: \"書式\",\r\n      sourcecode: \"コードビュー\",\r\n      preview: \"プレビュー\",\r\n      viewside: \"ビューサイド\",\r\n      insertCode: \"コードを挿入\",\r\n      linkText: \"テキストを表示する\",\r\n      linkTooltipLabel: \"題名\",\r\n      linkWebUrl: \"ウェブアドレス\",\r\n      linkTitle: \"タイトルを入力してください\",\r\n      linkurl: \"https://example.com\",\r\n      linkOpenInNewWindow: \"新しいウィンドウでリンクを開く\",\r\n      linkHeader: \"リンクを挿入\",\r\n      dialogInsert: \"インサート\",\r\n      dialogCancel: \"キャンセル\",\r\n      dialogUpdate: \"更新\",\r\n      imageHeader: \"画像を挿入\",\r\n      audioHeader: \"オーディオの挿入\",\r\n      videoHeader: \"ビデオの挿入\",\r\n      imageLinkHeader: \"Webからリンクを提供することもできます\",\r\n      audioLinkHeader: \"Web からリンクを提供することもできます\",\r\n      videoLinkHeader: \"ウェブURL\",\r\n      embedVideoLinkHeader: \"メディア埋め込み URL\",\r\n      mdimageLink: \"画像のURLを入力してください\",\r\n      imageUploadMessage:\r\n        \"ここに画像をドロップするか、参照してアップロードします\",\r\n      audioUploadMessage:\r\n        \"音声ファイルをドロップするか、参照してアップロードします\",\r\n      videoUploadMessage:\r\n        \"ビデオ ファイルをドロップするか、参照してアップロードします\",\r\n      imageDeviceUploadMessage: \"ここをクリックしてアップロード\",\r\n      audioDeviceUploadMessage: \"ここをクリックしてアップロードしてください\",\r\n      videoDeviceUploadMessage: \"ここをクリックしてアップロードしてください\",\r\n      imageAlternateText: \"代替テキスト\",\r\n      alternateHeader: \"代替テキスト\",\r\n      browse: \"ブラウズ\",\r\n      imageUrl: \"https://example.com/image.png\",\r\n      audioUrl: \"https://example.com/audio.mp3\",\r\n      videoUrl: \"https://example.com/video.mp4\",\r\n      webUrl: \"ウェブURL\",\r\n      embedUrl: \"埋め込みコード\",\r\n      imageCaption: \"キャプション\",\r\n      imageSizeHeader: \"画像サイズ\",\r\n      imageHeight: \"高さ\",\r\n      imageWidth: \"幅\",\r\n      videoHeight: \"身長\",\r\n      videoWidth: \"幅\",\r\n      textPlaceholder: \"テキストを入力してください\",\r\n      inserttablebtn: \"テーブルを挿入\",\r\n      tabledialogHeader: \"テーブルを挿入\",\r\n      tableWidth: \"幅\",\r\n      cellpadding: \"セルのパディング\",\r\n      cellspacing: \"セル間隔\",\r\n      columns: \"列の数\",\r\n      rows: \"行の数\",\r\n      tableRows: \"行\",\r\n      tableColumns: \"カラム\",\r\n      tableCellHorizontalAlign: \"テーブルセルの水平方向の整列\",\r\n      tableCellVerticalAlign: \"テーブルの垂直方向の配置\",\r\n      createTable: \"テーブルを作成\",\r\n      removeTable: \"テーブルを削除\",\r\n      tableHeader: \"ヘッダー行\",\r\n      tableRemove: \"テーブルの削除\",\r\n      tableCellBackground: \"テーブルセルの背景\",\r\n      tableEditProperties: \"テーブル編集プロパティ\",\r\n      styles: \"スタイル\",\r\n      insertColumnLeft: \"列を左に挿入\",\r\n      insertColumnRight: \"列を右に挿入\",\r\n      deleteColumn: \"列を削除\",\r\n      insertRowBefore: \"前に行を挿入\",\r\n      insertRowAfter: \"後に行を挿入\",\r\n      deleteRow: \"行を削除\",\r\n      tableEditHeader: \"テーブルを編集\",\r\n      TableHeadingText: \"見出し\",\r\n      TableColText: \"コル\",\r\n      imageInsertLinkHeader: \"リンクを挿入\",\r\n      editImageHeader: \"画像を編集\",\r\n      alignmentsDropDownLeft: \"左揃え\",\r\n      alignmentsDropDownCenter: \"中央揃え\",\r\n      alignmentsDropDownRight: \"右揃え\",\r\n      alignmentsDropDownJustify: \"両端揃え\",\r\n      imageDisplayDropDownInline: \"列をなして\",\r\n      imageDisplayDropDownBreak: \"ブレーク\",\r\n      audioLayoutOptionDropDownInline: \"列をなして\",\r\n      audioLayoutOptionDropDownBreak: \"壊す\",\r\n      videoLayoutOptionDropDownInline: \"列をなして\",\r\n      videoLayoutOptionDropDownBreak: \"壊す\",\r\n      tableInsertRowDropDownBefore: \"前に行を挿入\",\r\n      tableInsertRowDropDownAfter: \"後に行を挿入\",\r\n      tableInsertRowDropDownDelete: \"行を削除\",\r\n      tableInsertColumnDropDownLeft: \"列を左に挿入\",\r\n      tableInsertColumnDropDownRight: \"列を右に挿入\",\r\n      tableInsertColumnDropDownDelete: \"列を削除\",\r\n      tableVerticalAlignDropDownTop: \"上揃え\",\r\n      tableVerticalAlignDropDownMiddle: \"中央揃え\",\r\n      tableVerticalAlignDropDownBottom: \"下揃え\",\r\n      tableStylesDropDownDashedBorder: \"破線枠\",\r\n      tableStylesDropDownAlternateRows: \"代替行\",\r\n      pasteFormat: \"形式を貼り付け\",\r\n      pasteFormatContent: \"書式設定アクションを選択します\",\r\n      plainText: \"プレーンテキスト\",\r\n      cleanFormat: \"掃除\",\r\n      keepFormat: \"保つ\",\r\n      pasteDialogOk: \"OK\",\r\n      pasteDialogCancel: \"キャンセル\",\r\n      fileManager: \"ファイルマネージャー\",\r\n      fileDialogHeader: \"ファイルブラウザ\",\r\n      formatsDropDownParagraph: \"段落\",\r\n      formatsDropDownCode: \"コード\",\r\n      formatsDropDownQuotation: \"引用\",\r\n      formatsDropDownHeading1: \"見出し1\",\r\n      formatsDropDownHeading2: \"見出し2\",\r\n      formatsDropDownHeading3: \"見出し3\",\r\n      formatsDropDownHeading4: \"見出し4\",\r\n      fontNameSegoeUI: \"SegoeUI\",\r\n      fontNameArial: \"Arial\",\r\n      fontNameGeorgia: \"Georgia\",\r\n      fontNameImpact: \"Impact\",\r\n      fontNameTahoma: \"Tahoma\",\r\n      fontNameTimesNewRoman: \"Times New Roman\",\r\n      fontNameVerdana: \"Verdana\",\r\n      formatsOLListNumber: \"数\",\r\n      formatsOLListLowerAlpha: \"下位アルファ\",\r\n      formatsOLListUpperAlpha: \"アッパーアルファ\",\r\n      formatsOLListLowerRoman: \"ローマ語\",\r\n      formatsOLListUpperRoman: \"アッパーローマ\",\r\n      formatsOLListLowerGreek: \"ローワーギリシャ語\",\r\n      formatsULListDisc: \"ディスク\",\r\n      formatsULListCircle: \"サークル\",\r\n      formatsULListSquare: \"平方\",\r\n      formatsOLListNone: \"無し\",\r\n      formatsULListNone: \"無し\",\r\n      formatPainter: \"フォーマットペインター\",\r\n      emojiPicker: \"絵文字ピッカー\",\r\n      embeddedCode: \"埋め込みコード\",\r\n      pasteEmbeddedCodeHere: \"ここに埋め込みコードを貼り付けます\",\r\n      emojiPickerTypeToFind: \"検索する文字を入力してください\",\r\n      emojiPickerNoResultFound: \"結果が見つかりません\",\r\n      emojiPickerTrySomethingElse: \"何か別のことを試してみる\",\r\n      linkAriaLabel: \"新しいウィンドウで開きます\",\r\n      imageLinkAriaLabel: \"新しいウィンドウで開きます\",\r\n      unsupportedImage: \"サポートされていないファイル形式です\",\r\n      mergecells: \"セルを結合します\",\r\n      verticalsplit: \"垂直分割\",\r\n      horizontalsplit: \"水平分割\",\r\n      numberFormatListLowerAlpha: \"下位アルファ\",\r\n      numberFormatListUpperAlpha: \"アッパーアルファ\",\r\n      numberFormatListLowerRoman: \"ローワーローマン\",\r\n      numberFormatListUpperRoman: \"アッパーローマ\",\r\n      numberFormatListLowerGreek: \"下ギリシャ語\",\r\n      slashMenuItemHeadingOneText: \"見出し1\",\r\n      slashMenuItemHeadingOneDescription:\r\n        \"これをトップレベルの見出しまたはタイトルに使用します。\",\r\n      slashMenuItemHeadingTwoText: \"見出し2\",\r\n      slashMenuItemHeadingTwoDescription:\r\n        \"重要なセクションにこれを使用します。\",\r\n      slashMenuItemHeadingThreeText: \"見出し 3\",\r\n      slashMenuItemHeadingThreeDescription:\r\n        \"これをサブセクションとグループの見出しに使用します。\",\r\n      slashMenuItemHeadingFourText: \"見出し 4\",\r\n      slashMenuItemHeadingFourDescription:\r\n        \"サブトピックの要点を説明するためにこれを使用します。\",\r\n      slashMenuItemParagraphText: \"段落\",\r\n      slashMenuItemParagraphDescription: \"段落を使って書く。\",\r\n      slashMenuItemBlockquoteText: \"ブロッククォート\",\r\n      slashMenuItemBlockquoteDescription: \"引用または引用を作成します。\",\r\n      slashMenuItemOrderedListText: \"順序付きリスト\",\r\n      slashMenuItemOrderedListDescription: \"順序付きリストを作成します。\",\r\n      slashMenuItemUnorderedListText: \"順序なしリスト\",\r\n      slashMenuItemUnorderedListDescription: \"順序なしリストを作成します。\",\r\n      slashMenuItemCodeText: \"コードブロック\",\r\n      slashMenuItemCodeDescription:\r\n        \"フォーマット済みのコード ブロックを作成します。\",\r\n      slashMenuItemTableText: \"テーブル\",\r\n      slashMenuItemTableDescription: \"テーブルを挿入します。\",\r\n      slashMenuItemLinkText: \"リンク\",\r\n      slashMenuItemLinkDescription: \"リンクを挿入します。\",\r\n      slashMenuItemImageText: \"画像\",\r\n      slashMenuItemImageDescription: \"画像を挿入します。\",\r\n      slashMenuItemAudioText: \"オーディオ\",\r\n      slashMenuItemAudioDescription: \"音声を挿入します。\",\r\n      slashMenuItemVideoText: \"ビデオ\",\r\n      slashMenuItemVideoDescription: \"ビデオを挿入します。\",\r\n      slashMenuItemEmojiText: \"絵文字ピッカー\",\r\n      slashMenuItemEmojiDescription:\r\n        \"絵文字を使用してアイデアや絵文字を表現します。\",\r\n    },\r\n    colorpicker: {\r\n      Apply: \"適用する\",\r\n      Cancel: \"キャンセル\",\r\n      ModeSwitcher: \"スイッチモード\",\r\n      RecentColors: \"最近の色\",\r\n    },\r\n    uploader: {\r\n      Browse: \"ブラウズ...\",\r\n      Clear: \"晴れ\",\r\n      Upload: \"アップロードする\",\r\n      dropFilesHint: \"またはここにファイルをドロップします\",\r\n      invalidMaxFileSize: \"ファイルサイズが大きすぎます\",\r\n      invalidMinFileSize: \"ファイルサイズが小さすぎます\",\r\n      invalidFileType: \"ファイルタイプは許可されていません\",\r\n      uploadFailedMessage: \"ファイルをアップロードできませんでした\",\r\n      uploadSuccessMessage: \"ファイルが正常にアップロードされました\",\r\n      removedSuccessMessage: \"ファイルは正常に削除されました\",\r\n      removedFailedMessage: \"ファイルを削除できません\",\r\n      inProgress: \"アップロード中\",\r\n      readyToUploadMessage: \"アップロードする準備ができました\",\r\n      abort: \"アボート\",\r\n      remove: \"削除する\",\r\n      cancel: \"キャンセル\",\r\n      delete: \"ファイルを削除する\",\r\n      pauseUpload: \"ファイルのアップロードが一時停止しました\",\r\n      pause: \"一時停止\",\r\n      resume: \"履歴書\",\r\n      retry: \"リトライ\",\r\n      fileUploadCancel: \"ファイルのアップロードがキャンセルされました\",\r\n    },\r\n    numerictextbox: {\r\n      incrementTitle: \"増分値\",\r\n      decrementTitle: \"デクリメント値\",\r\n    },\r\n    slider: {\r\n      incrementTitle: \"増加する\",\r\n      decrementTitle: \"減少\",\r\n    },\r\n    formValidator: {\r\n      required: \"この項目は必須です。\",\r\n      email: \"有効なメールアドレスを入力してください。\",\r\n      url: \"有効なURLを入力してください。\",\r\n      date: \"有効な日付を入力してください。\",\r\n      dateIso: \"有効な日付（ISO）を入力してください。\",\r\n      creditcard: \"有効なカード番号を入力してください\",\r\n      number: \"有効な数値を入力してください。\",\r\n      digits: \"数字のみ入力して下さい。\",\r\n      maxLength: \"{0}文字以内で入力してください。\",\r\n      minLength: \"少なくとも{0}文字を入力してください。\",\r\n      rangeLength: \"{0}〜{1}文字の値を入力してください。\",\r\n      range: \"{0}〜{1}の値を入力してください。\",\r\n      max: \"{0}以下の値を入力してください。\",\r\n      min: \"{0}以上の値を入力してください。\",\r\n      regex: \"正しい値を入力してください。\",\r\n      tel: \"有効な電話番号を入力して下さい。\",\r\n      pattern: \"正しいパターン値を入力してください。\",\r\n      equalTo: \"有効な一致テキストを入力してください\",\r\n    },\r\n    treegrid: {\r\n      Above: \"上\",\r\n      Below: \"未満\",\r\n      AddRow: \"行を追加する\",\r\n      ExpandAll: \"すべて展開\",\r\n      CollapseAll: \"すべて折りたたむ\",\r\n    },\r\n    querybuilder: {\r\n      StartsWith: \"〜で始まる\",\r\n      EndsWith: \"次で終わる\",\r\n      Contains: \"含む\",\r\n      NotLike: \"含む\",\r\n      Like: \"みたいではなく\",\r\n      Equal: \"等しい\",\r\n      NotEqual: \"等しくない\",\r\n      LessThan: \"未満\",\r\n      LessThanOrEqual: \"より小さいか等しい\",\r\n      GreaterThan: \"より大きい\",\r\n      GreaterThanOrEqual: \"より大きいか等しい\",\r\n      Between: \"の間に\",\r\n      NotBetween: \"間にない\",\r\n      Empty: \"空の\",\r\n      NotEmpty: \"空ではない\",\r\n      In: \"に\",\r\n      NotIn: \"ありませんで\",\r\n      NotContains: \"含まない\",\r\n      Remove: \"削除する\",\r\n      SelectField: \"フィールドを選択してください\",\r\n      SelectOperator: \"選択演算子\",\r\n      DeleteRule: \"この条件を削除\",\r\n      DeleteGroup: \"グループを削除\",\r\n      AddGroup: \"グループを追加\",\r\n      AddCondition: \"条件を追加\",\r\n      Edit: \"編集\",\r\n      ValidationMessage: \"この項目は必須です\",\r\n      SummaryViewTitle: \"概要ビュー\",\r\n      OtherFields: \"その他の分野\",\r\n      AND: \"そして\",\r\n      OR: \"または\",\r\n      SelectValue: \"値を入力\",\r\n      IsEmpty: \"空です\",\r\n      IsNotEmpty: \"空ではない\",\r\n      IsNull: \"無効である\",\r\n      IsNotNull: \"ヌルではない\",\r\n      True: \"真実\",\r\n      False: \"間違い\",\r\n      DoesNotStartWith: \"で始まらない\",\r\n      DoesNotEndWith: \"で終わらない\",\r\n      DoesNotContain: \"含まれていない\",\r\n      AddButton: \"グループ/条件の追加\",\r\n      CloneGroup: \"クローングループ\",\r\n      LockGroup: \"ロックグループ\",\r\n      CloneRule: \"クローンルール\",\r\n      LockRule: \"ロックルール\",\r\n      UnlockRule: \"ロック解除ルール\",\r\n      UnlockGroup: \"グループのロックを解除する\",\r\n    },\r\n    barcode: {},\r\n    datamatrix: {},\r\n    qrcode: {},\r\n    pivotview: {\r\n      applyToGrandTotal: \"総計に適用する\",\r\n      grandTotal: \"総計\",\r\n      total: \"合計\",\r\n      value: \"値\",\r\n      noValue: \"値なし\",\r\n      row: \"行\",\r\n      column: \"カラム\",\r\n      collapse: \"崩壊\",\r\n      expand: \"展開する\",\r\n      rowAxisPrompt: \"ここに行をドロップ\",\r\n      columnAxisPrompt: \"ここに列をドロップします\",\r\n      valueAxisPrompt: \"ここに値をドロップ\",\r\n      filterAxisPrompt: \"ここにフィルターをドロップ\",\r\n      filter: \"フィルタ\",\r\n      filtered: \"フィルター済み\",\r\n      sort: \"ソート\",\r\n      filters: \"フィルター\",\r\n      rows: \"行\",\r\n      columns: \"列\",\r\n      values: \"値\",\r\n      close: \"閉じる\",\r\n      cancel: \"キャンセル\",\r\n      delete: \"削除\",\r\n      CalculatedField: \"計算フィールド\",\r\n      createCalculatedField: \"計算フィールドを作成する\",\r\n      fieldName: \"フィールド名を入力してください\",\r\n      error: \"エラー\",\r\n      invalidFormula: \"数式が無効です。\",\r\n      dropText: \"例：（ 'Sum（Order_Count）' + 'Sum（In_Stock）'）* 250\",\r\n      dropTextMobile: \"ここでフィールドを追加し、式を編集します。\",\r\n      dropAction: \"計算フィールドは、値軸以外の領域には配置できません。\",\r\n      alert: \"アラート\",\r\n      warning: \"警告\",\r\n      ok: \"OK\",\r\n      search: \"探す\",\r\n      drag: \"引っ張る\",\r\n      remove: \"削除する\",\r\n      allFields: \"すべてのフィールド\",\r\n      formula: \"式\",\r\n      addToRow: \"行に追加\",\r\n      addToColumn: \"列に追加\",\r\n      addToValue: \"付加価値\",\r\n      addToFilter: \"フィルターに追加\",\r\n      emptyData: \"表示するレコードはありません\",\r\n      fieldExist:\r\n        \"この名前のフィールドは既に存在します。別の名前を入力してください。\",\r\n      confirmText:\r\n        \"この名前には計算フィールドが既に存在します。取り替えたいですか？\",\r\n      noMatches: \"一致なし\",\r\n      format: \"集計値\",\r\n      edit: \"編集\",\r\n      clear: \"晴れ\",\r\n      formulaField: \"フィールドを数式にドラッグアンドドロップする\",\r\n      dragField: \"フィールドを数式にドラッグします\",\r\n      clearFilter: \"晴れ\",\r\n      by: \"沿って\",\r\n      all: \"すべて\",\r\n      multipleItems: \"複数のアイテム\",\r\n      member: \"メンバー\",\r\n      label: \"ラベル\",\r\n      date: \"日付\",\r\n      enterValue: \"値を入力してください\",\r\n      chooseDate: \"日付を入力してください\",\r\n      Before: \"前\",\r\n      BeforeOrEqualTo: \"前または等しい\",\r\n      After: \"後\",\r\n      AfterOrEqualTo: \"後または等しい\",\r\n      labelTextContent: \"ラベルのあるアイテムを表示する\",\r\n      dateTextContent: \"日付のあるアイテムを表示する\",\r\n      valueTextContent: \"対象のアイテムを表示\",\r\n      Equals: \"等しい\",\r\n      DoesNotEquals: \"等しくない\",\r\n      BeginWith: \"〜で始まる\",\r\n      DoesNotBeginWith: \"次で始まらない\",\r\n      EndsWith: \"次で終わる\",\r\n      DoesNotEndsWith: \"で終わらない\",\r\n      Contains: \"含む\",\r\n      DoesNotContains: \"含まない\",\r\n      GreaterThan: \"より大きい\",\r\n      GreaterThanOrEqualTo: \"以上\",\r\n      LessThan: \"未満\",\r\n      LessThanOrEqualTo: \"より小さいか等しい\",\r\n      Between: \"の間に\",\r\n      NotBetween: \"間にない\",\r\n      And: \"そして\",\r\n      Sum: \"和\",\r\n      Count: \"カウント\",\r\n      DistinctCount: \"明確なカウント\",\r\n      Product: \"製品\",\r\n      Avg: \"平均\",\r\n      Min: \"分\",\r\n      SampleVar: \"サンプル変数\",\r\n      PopulationVar: \"母集団変数\",\r\n      RunningTotals: \"積算合計\",\r\n      Max: \"マックス\",\r\n      Index: \"索引\",\r\n      SampleStDev: \"サンプルStDev\",\r\n      PopulationStDev: \"人口StDev\",\r\n      PercentageOfRowTotal: \"行合計の％\",\r\n      PercentageOfParentTotal: \"親全体の割合\",\r\n      PercentageOfParentColumnTotal: \"親列の合計の割合\",\r\n      PercentageOfParentRowTotal: \"親行合計の割合\",\r\n      DifferenceFrom: \"との違い\",\r\n      PercentageOfDifferenceFrom: \"差の％\",\r\n      PercentageOfGrandTotal: \"総計に対する割合\",\r\n      PercentageOfColumnTotal: \"列合計の％\",\r\n      NotEquals: \"等しくない\",\r\n      AllValues: \"すべての値\",\r\n      conditionalFormatting: \"条件付き書式\",\r\n      apply: \"適用する\",\r\n      condition: \"条件を追加\",\r\n      formatLabel: \"フォーマット\",\r\n      valueFieldSettings: \"値フィールドの設定\",\r\n      baseField: \"ベースフィールド：\",\r\n      baseItem: \"ベースアイテム：\",\r\n      summarizeValuesBy: \"値を要約する：\",\r\n      sourceName: \"フィールド名 ：\",\r\n      sourceCaption: \"フィールドキャプション：\",\r\n      example: \"例えば：\",\r\n      editorDataLimitMsg: \" より多くのアイテム。検索してさらに絞り込みます。\",\r\n      details: \"詳細\",\r\n      manageRecords: \"レコードを管理する\",\r\n      Years: \"年数\",\r\n      Quarters: \"四分の一\",\r\n      Months: \"ヶ月\",\r\n      Days: \"日々\",\r\n      Hours: \"時間\",\r\n      Minutes: \"議事録\",\r\n      Seconds: \"秒\",\r\n      save: \"レポートを保存する\",\r\n      new: \"新しいレポートを作成する\",\r\n      load: \"負荷\",\r\n      saveAs: \"現在のレポートとして保存\",\r\n      rename: \"現在のレポートの名前を変更する\",\r\n      deleteReport: \"現在のレポートを削除する\",\r\n      export: \"書き出す\",\r\n      subTotals: \"小計\",\r\n      grandTotals: \"総計\",\r\n      reportName: \"レポート名：\",\r\n      pdf: \"PDF\",\r\n      excel: \"エクセル\",\r\n      csv: \"CSV\",\r\n      png: \"PNG\",\r\n      jpeg: \"JPEG\",\r\n      svg: \"SVG\",\r\n      mdxQuery: \"MDXクエリ\",\r\n      showSubTotals: \"小計を表示\",\r\n      doNotShowSubTotals: \"小計を表示しない\",\r\n      showSubTotalsRowsOnly: \"小計行のみを表示\",\r\n      showSubTotalsColumnsOnly: \"小計列のみを表示\",\r\n      showGrandTotals: \"総計を表示する\",\r\n      doNotShowGrandTotals: \"総計を表示しない\",\r\n      showGrandTotalsRowsOnly: \"総計行のみを表示\",\r\n      showGrandTotalsColumnsOnly: \"総計列のみを表示\",\r\n      fieldList: \"フィールドリストを表示\",\r\n      grid: \"表を表示\",\r\n      toolbarFormatting: \"条件付き書式\",\r\n      chart: \"チャート\",\r\n      reportMsg: \"有効なレポート名を入力してください!!!\",\r\n      reportList: \"レポート一覧\",\r\n      removeConfirm: \"このレポートを削除してもよろしいですか？\",\r\n      emptyReport: \"レポートが見つかりません!!\",\r\n      bar: \"バー\",\r\n      line: \"ライン\",\r\n      area: \"範囲\",\r\n      scatter: \"散布\",\r\n      polar: \"極地\",\r\n      of: \"の\",\r\n      emptyFormat: \"フォーマットが見つかりません!!!\",\r\n      emptyInput: \"値を入力してください\",\r\n      newReportConfirm: \"レポートへの変更を保存しますか？\",\r\n      emptyReportName: \"レポート名を入力してください\",\r\n      qtr: \"四半期\",\r\n      null: \"ヌル\",\r\n      undefined: \"未定義\",\r\n      groupOutOfRange: \"範囲外\",\r\n      fieldDropErrorAction:\r\n        \"移動しているフィールドは、レポートのその領域に配置できません\",\r\n      MoreOption: \"もっと...\",\r\n      aggregate: \"集計\",\r\n      drillThrough: \"ドリルスルー\",\r\n      ascending: \"上昇\",\r\n      descending: \"降順\",\r\n      number: \"数\",\r\n      currency: \"通貨\",\r\n      percentage: \"割合\",\r\n      formatType: \"フォーマットタイプ\",\r\n      customText: \"通貨記号\",\r\n      symbolPosition: \"シンボルの位置\",\r\n      left: \"左\",\r\n      right: \"正しい\",\r\n      grouping: \"グルーピング\",\r\n      true: \"本当だ\",\r\n      false: \"偽\",\r\n      decimalPlaces: \"小数位\",\r\n      numberFormat: \"数値のフォーマット\",\r\n      memberType: \"フィールドタイプ\",\r\n      formatString: \"フォーマット文字列\",\r\n      expressionField: \"表現\",\r\n      customFormat: \"カスタム形式の文字列を入力してください\",\r\n      selectedHierarchy: \"親階層\",\r\n      olapDropText:\r\n        \"例：[メジャー]。[注文数量] +（[メジャー]。[注文数量] * 0.10）\",\r\n      Percent: \"パーセント\",\r\n      Custom: \"カスタム\",\r\n      Measure: \"測定する\",\r\n      Dimension: \"寸法\",\r\n      Standard: \"標準\",\r\n      blank: \"（ブランク）\",\r\n      fieldTooltip:\r\n        \"フィールドをドラッグアンドドロップして式を作成します。そして、既存の計算フィールドを編集したい場合！次に、「計算されるメンバー」の下のフィールドを選択するだけでそれを実現できます。\",\r\n      QuarterYear: \"四半期\",\r\n      fieldTitle: \"フィールド名\",\r\n      drillError: \"計算フィールドの未加工アイテムを表示できません。\",\r\n      caption: \"フィールドキャプション\",\r\n      copy: \"コピー\",\r\n      defaultReport: \"デフォルトのレポート\",\r\n      customFormatString: \"カスタムフォーマット\",\r\n      invalidFormat: \"無効な形式。\",\r\n      group: \"グループ\",\r\n      unGroup: \"グループ解除\",\r\n      invalidSelection: \"その選択をグループ化できません。\",\r\n      groupName: \"ヘッダーに表示するキャプションを入力してください\",\r\n      captionName: \"グループフィールドのキャプションを入力します\",\r\n      selectedItems: \"選択したアイテム\",\r\n      groupFieldCaption: \"フィールドキャプション\",\r\n      groupTitle: \"グループ名\",\r\n      startAt: \"で始まる\",\r\n      endAt: \"で終わる\",\r\n      groupBy: \"間隔\",\r\n      selectGroup: \"グループを選択\",\r\n      numberFormatString: \"例：C、P、0000％、### 0。## 0＃など\",\r\n      stackingcolumn: \"積み上げコラム\",\r\n      stackingbar: \"積み上げ棒\",\r\n      stackingarea: \"積み上げ面\",\r\n      stepline: \"ステップライン\",\r\n      steparea: \"ステップエリア\",\r\n      splinearea: \"スプライン領域\",\r\n      spline: \"スプライン\",\r\n      stackingcolumn100: \"100％積み上げカラム\",\r\n      stackingbar100: \"100％積み上げバー\",\r\n      stackingarea100: \"100％積み上げ面\",\r\n      bubble: \"バブル\",\r\n      pareto: \"パレート\",\r\n      radar: \"レーダー\",\r\n      chartTypeSettings: \"チャートタイプの設定\",\r\n      multipleAxes: \"複数の軸\",\r\n      sortAscending: \"昇順で並べ替え\",\r\n      sortDescending: \"降順で並べ替え\",\r\n      sortNone: \"データの並べ替え\",\r\n      clearCalculatedField: \"編集したフィールド情報をクリア\",\r\n      editCalculatedField: \"計算フィールドを編集する\",\r\n      ChartType: \"チャートタイプ\",\r\n      yes: \"はい\",\r\n      no: \"番号\",\r\n      numberFormatMenu: \"数値のフォーマット...\",\r\n      conditionalFormattingMenu: \"条件付き書式...\",\r\n      removeCalculatedField: \"この計算フィールドを削除してもよろしいですか？\",\r\n      replaceConfirmBefore: \"というレポート\",\r\n      replaceConfirmAfter: \" もう存在している。取り替えたいですか？\",\r\n      pie: \"パイ\",\r\n      funnel: \"漏斗\",\r\n      doughnut: \"ドーナツ\",\r\n      pyramid: \"ピラミッド\",\r\n      showLegend: \"凡例を表示\",\r\n      exit: \"出口\",\r\n      invalidJSON: \"無効なJSONデータ\",\r\n      invalidCSV: \"無効なCSVデータ\",\r\n      stacked: \"積み上げ\",\r\n      single: \"シングル\",\r\n      multipleAxisMode: \"多軸モード\",\r\n      grandTotalPosition: \"総計ポジション\",\r\n      top: \"上\",\r\n      bottom: \"下\",\r\n      None: \"なし\",\r\n      stackingline: \"スタックライン\",\r\n      stackingline100: \"100％スタックライン\",\r\n      rowPage: \"行ページャー\",\r\n      rowPerPage: \"ページあたりの行数\",\r\n      columnPage: \"列ページャー\",\r\n      columnPerPage: \"ページあたりの列\",\r\n      goToFirstPage: \"最初のページに移動\",\r\n      goToPreviousPage: \"前のページへ\",\r\n      goToNextPage: \"次のページへ\",\r\n      goToLastPage: \"最後のページへ\",\r\n      combined: \"組み合わせた\",\r\n      subTotalPosition: \"小計位置\",\r\n      auto: \"自動\",\r\n      loading: \"読み込み中...\",\r\n      add: \"追加\",\r\n    },\r\n    pivotfieldlist: {\r\n      staticFieldList: \"ピボットフィールドリスト\",\r\n      fieldList: \"フィールドリスト\",\r\n      dropFilterPrompt: \"ここにフィルターをドロップ\",\r\n      dropColPrompt: \"ここに列をドロップします\",\r\n      dropRowPrompt: \"ここに行をドロップ\",\r\n      dropValPrompt: \"ここに値をドロップ\",\r\n      addPrompt: \"ここにフィールドを追加\",\r\n      adaptiveFieldHeader: \"フィールドを選択\",\r\n      centerHeader: \"下の軸間でフィールドをドラッグします。\",\r\n      add: \"追加\",\r\n      drag: \"引っ張る\",\r\n      filter: \"フィルタ\",\r\n      filtered: \"フィルター済み\",\r\n      sort: \"ソート\",\r\n      remove: \"削除する\",\r\n      filters: \"フィルター\",\r\n      rows: \"行\",\r\n      columns: \"列\",\r\n      values: \"値\",\r\n      CalculatedField: \"計算フィールド\",\r\n      createCalculatedField: \"計算フィールドを作成する\",\r\n      fieldName: \"フィールド名を入力してください\",\r\n      error: \"エラー\",\r\n      invalidFormula: \"数式が無効です。\",\r\n      dropText: \"例：（ 'Sum（Order_Count）' + 'Sum（In_Stock）' '）* 250\",\r\n      dropTextMobile: \"ここでフィールドを追加し、式を編集します。\",\r\n      dropAction: \"計算フィールドは、値軸以外の領域には配置できません。\",\r\n      search: \"探す\",\r\n      close: \"閉じる\",\r\n      cancel: \"キャンセル\",\r\n      delete: \"削除\",\r\n      alert: \"アラート\",\r\n      warning: \"警告\",\r\n      ok: \"OK\",\r\n      allFields: \"すべてのフィールド\",\r\n      formula: \"式\",\r\n      fieldExist:\r\n        \"この名前のフィールドは既に存在します。別の名前を入力してください。\",\r\n      confirmText:\r\n        \"この名前には計算フィールドが既に存在します。取り替えたいですか？\",\r\n      noMatches: \"一致なし\",\r\n      format: \"集計値\",\r\n      edit: \"編集\",\r\n      clear: \"晴れ\",\r\n      formulaField: \"フィールドを数式にドラッグアンドドロップする\",\r\n      dragField: \"フィールドを数式にドラッグします\",\r\n      clearFilter: \"晴れ\",\r\n      by: \"沿って\",\r\n      enterValue: \"値を入力してください\",\r\n      chooseDate: \"日付を入力してください\",\r\n      all: \"すべて\",\r\n      multipleItems: \"複数のアイテム\",\r\n      Equals: \"等しい\",\r\n      DoesNotEquals: \"等しくない\",\r\n      BeginWith: \"〜で始まる\",\r\n      DoesNotBeginWith: \"次で始まらない\",\r\n      EndsWith: \"次で終わる\",\r\n      DoesNotEndsWith: \"で終わらない\",\r\n      Contains: \"含む\",\r\n      DoesNotContains: \"含まない\",\r\n      GreaterThan: \"より大きい\",\r\n      GreaterThanOrEqualTo: \"以上\",\r\n      LessThan: \"未満\",\r\n      LessThanOrEqualTo: \"より小さいか等しい\",\r\n      Between: \"の間に\",\r\n      NotBetween: \"間にない\",\r\n      Before: \"前\",\r\n      BeforeOrEqualTo: \"前または等しい\",\r\n      After: \"後\",\r\n      AfterOrEqualTo: \"後または等しい\",\r\n      member: \"メンバー\",\r\n      label: \"ラベル\",\r\n      date: \"日付\",\r\n      value: \"値\",\r\n      labelTextContent: \"ラベルのあるアイテムを表示する\",\r\n      dateTextContent: \"日付のあるアイテムを表示する\",\r\n      valueTextContent: \"対象のアイテムを表示\",\r\n      And: \"そして\",\r\n      Sum: \"和\",\r\n      Count: \"カウント\",\r\n      DistinctCount: \"明確なカウント\",\r\n      Product: \"製品\",\r\n      Avg: \"平均\",\r\n      Min: \"分\",\r\n      Max: \"マックス\",\r\n      Index: \"索引\",\r\n      SampleStDev: \"サンプルStDev\",\r\n      PopulationStDev: \"人口StDev\",\r\n      SampleVar: \"サンプル変数\",\r\n      PopulationVar: \"母集団変数\",\r\n      RunningTotals: \"積算合計\",\r\n      DifferenceFrom: \"との違い\",\r\n      PercentageOfDifferenceFrom: \"差の％\",\r\n      PercentageOfGrandTotal: \"総計に対する割合\",\r\n      PercentageOfColumnTotal: \"列合計の％\",\r\n      PercentageOfRowTotal: \"行合計の％\",\r\n      PercentageOfParentTotal: \"親全体の割合\",\r\n      PercentageOfParentColumnTotal: \"親列の合計の割合\",\r\n      PercentageOfParentRowTotal: \"親行合計の割合\",\r\n      Years: \"年数\",\r\n      Quarters: \"四分の一\",\r\n      Months: \"ヶ月\",\r\n      Days: \"日々\",\r\n      Hours: \"時間\",\r\n      Minutes: \"議事録\",\r\n      Seconds: \"秒\",\r\n      apply: \"適用する\",\r\n      valueFieldSettings: \"値フィールドの設定\",\r\n      sourceName: \"フィールド名 ：\",\r\n      sourceCaption: \"フィールドキャプション：\",\r\n      summarizeValuesBy: \"値を要約する：\",\r\n      baseField: \"ベースフィールド：\",\r\n      baseItem: \"ベースアイテム：\",\r\n      example: \"例えば：\",\r\n      editorDataLimitMsg: \" より多くのアイテム。検索してさらに絞り込みます。\",\r\n      deferLayoutUpdate: \"レイアウト更新の延期\",\r\n      null: \"ヌル\",\r\n      undefined: \"未定義\",\r\n      groupOutOfRange: \"範囲外\",\r\n      fieldDropErrorAction:\r\n        \"移動しているフィールドは、レポートのその領域に配置できません\",\r\n      MoreOption: \"もっと...\",\r\n      memberType: \"フィールドタイプ\",\r\n      selectedHierarchy: \"親階層\",\r\n      formatString: \"フォーマット文字列\",\r\n      expressionField: \"表現\",\r\n      olapDropText:\r\n        \"例：[メジャー]。[注文数量] +（[メジャー]。[注文数量] * 0.10）\",\r\n      customFormat: \"カスタム形式の文字列を入力してください\",\r\n      Measure: \"測定する\",\r\n      Dimension: \"寸法\",\r\n      Standard: \"標準\",\r\n      Currency: \"通貨\",\r\n      Percent: \"パーセント\",\r\n      Custom: \"カスタム\",\r\n      blank: \"（ブランク）\",\r\n      fieldTooltip:\r\n        \"フィールドをドラッグアンドドロップして式を作成します。そして、既存の計算フィールドを編集したい場合！ 「Calculated Members」の下のフィールドを選択するだけで実現できます。\",\r\n      fieldTitle: \"フィールド名\",\r\n      QuarterYear: \"四半期\",\r\n      caption: \"フィールドキャプション\",\r\n      copy: \"コピー\",\r\n      group: \"グループ\",\r\n      numberFormatString: \"例：C、P、0000％、### 0。## 0＃など。\",\r\n      sortAscending: \"昇順で並べ替え\",\r\n      sortDescending: \"降順で並べ替え\",\r\n      sortNone: \"データの並べ替え\",\r\n      clearCalculatedField: \"編集したフィールド情報をクリア\",\r\n      editCalculatedField: \"計算フィールドを編集する\",\r\n      selectGroup: \"グループを選択\",\r\n      of: \"の\",\r\n      removeCalculatedField: \"この計算フィールドを削除してもよろしいですか？\",\r\n      yes: \"はい\",\r\n      no: \"番号\",\r\n      None: \"なし\",\r\n    },\r\n    pdfviewer: {\r\n      PdfViewer: \"PDFビューアー\",\r\n      Cancel: \"キャンセル\",\r\n      \"Download file\": \"ダウンロードファイル\",\r\n      Download: \"ダウンロード\",\r\n      \"Enter Password\":\r\n        \"このドキュメントはパスワードで保護されています。パスワードを入力して下さい。\",\r\n      \"File Corrupted\": \"ファイルが破損した\",\r\n      \"File Corrupted Content\":\r\n        \"ファイルが破損しており、開くことができません。\",\r\n      \"Fit Page\": \"ページに合わせる\",\r\n      \"Fit Width\": \"フィット幅\",\r\n      Automatic: \"自動\",\r\n      \"Go To First Page\": \"最初のページを表示\",\r\n      \"Invalid Password\": \"間違ったパスワード。もう一度やり直してください。\",\r\n      \"Next Page\": \"次のページを表示\",\r\n      OK: \"わかった\",\r\n      Open: \"ファイルを開く\",\r\n      \"Page Number\": \"現在のページ番号\",\r\n      \"Previous Page\": \"前のページを表示\",\r\n      \"Go To Last Page\": \"最後のページを表示\",\r\n      Zoom: \"ズーム\",\r\n      \"Zoom In\": \"ズームイン\",\r\n      \"Zoom Out\": \"ズームアウトする\",\r\n      \"Page Thumbnails\": \"ページのサムネイル\",\r\n      Bookmarks: \"しおり\",\r\n      Print: \"印刷ファイル\",\r\n      \"Password Protected\": \"パスワードが必要\",\r\n      Copy: \"コピー\",\r\n      \"Text Selection\": \"テキスト選択ツール\",\r\n      Panning: \"パンモード\",\r\n      \"Text Search\": \"テキストを検索\",\r\n      \"Find in document\": \"ドキュメントで検索\",\r\n      \"Match case\": \"マッチケース\",\r\n      Apply: \"適用する\",\r\n      GoToPage: \"ページに移動\",\r\n      \"No matches\":\r\n        \"ビューアはドキュメントの検索を終了しました。一致するものはもう見つかりませんでした\",\r\n      \"No Text Found\": \"テキストが見つかりません\",\r\n      Undo: \"元に戻す\",\r\n      Redo: \"やり直し\",\r\n      Annotation: \"注釈を追加または編集する\",\r\n      Highlight: \"ハイライトテキスト\",\r\n      Underline: \"テキストに下線を引く\",\r\n      Strikethrough: \"取り消し線テキスト\",\r\n      Delete: \"注釈を削除\",\r\n      Opacity: \"不透明度\",\r\n      \"Color edit\": \"色を変える\",\r\n      \"Opacity edit\": \"不透明度を変更\",\r\n      \"Highlight context\": \"ハイライト\",\r\n      \"Underline context\": \"下線\",\r\n      \"Strikethrough context\": \"取り消し線\",\r\n      \"Server error\":\r\n        \"Webサービスはリッスンしていません。 PDF Viewerは、すべての機能がWebサービスに依存しています。続行するには、Webサービスを開始してください。\",\r\n      \"Open text\": \"開いた\",\r\n      \"First text\": \"先頭ページ\",\r\n      \"Previous text\": \"前のページ\",\r\n      \"Next text\": \"次のページ\",\r\n      \"Last text\": \"最後のページ\",\r\n      \"Zoom in text\": \"ズームイン\",\r\n      \"Zoom out text\": \"ズームアウトする\",\r\n      \"Selection text\": \"選択\",\r\n      \"Pan text\": \"パン\",\r\n      \"Print text\": \"印刷する\",\r\n      \"Search text\": \"探す\",\r\n      \"Annotation Edit text\": \"注釈を編集\",\r\n      \"Line Thickness\": \"線の太さ\",\r\n      \"Line Properties\": \"線のプロパティ\",\r\n      \"Start Arrow\": \"開始矢印\",\r\n      \"End Arrow\": \"終了矢印\",\r\n      \"Line Style\": \"線のスタイル\",\r\n      \"Fill Color\": \"塗りつぶしの色\",\r\n      \"Line Color\": \"線の色\",\r\n      None: \"なし\",\r\n      \"Open Arrow\": \"開いた\",\r\n      \"Closed Arrow\": \"閉まっている\",\r\n      \"Round Arrow\": \"円形\",\r\n      \"Square Arrow\": \"平方\",\r\n      \"Diamond Arrow\": \"ダイヤモンド\",\r\n      Butt: \"お尻\",\r\n      Cut: \"切る\",\r\n      Paste: \"ペースト\",\r\n      \"Delete Context\": \"削除\",\r\n      Properties: \"プロパティ\",\r\n      \"Add Stamp\": \"スタンプを追加\",\r\n      \"Add Shapes\": \"シェイプを追加\",\r\n      \"Stroke edit\": \"ストロークの色を変更\",\r\n      \"Change thickness\": \"境界線の太さを変更する\",\r\n      \"Add line\": \"行を追加\",\r\n      \"Add arrow\": \"矢印を追加\",\r\n      \"Add rectangle\": \"長方形を追加\",\r\n      \"Add circle\": \"サークルを追加\",\r\n      \"Add polygon\": \"ポリゴンを追加\",\r\n      \"Add Comments\": \"コメントを追加\",\r\n      Comments: \"コメント\",\r\n      \"No Comments Yet\": \"コメントはまだありません\",\r\n      Accepted: \"受け入れられた\",\r\n      Completed: \"完成しました\",\r\n      Cancelled: \"キャンセル\",\r\n      Rejected: \"拒否されました\",\r\n      \"Leader Length\": \"リーダーの長さ\",\r\n      \"Scale Ratio\": \"スケール比\",\r\n      Calibrate: \"調整する\",\r\n      \"Calibrate Distance\": \"距離の調整\",\r\n      \"Calibrate Perimeter\": \"周囲のキャリブレーション\",\r\n      \"Calibrate Area\": \"キャリブレーションエリア\",\r\n      \"Calibrate Radius\": \"半径の調整\",\r\n      \"Calibrate Volume\": \"ボリュームの調整\",\r\n      highlight: \"ハイライト\",\r\n      underline: \"下線\",\r\n      strikethrough: \"取り消し線\",\r\n      \"Seach text\": \"探す\",\r\n      FormDesigner: \"フォーム フィールドの追加と編集\",\r\n      \"Client error\":\r\n        \"クライアント側のエラーが見つかりました。 AjaxRequestSettings プロパティで提供されるカスタム ヘッダーと、ServerActionSettings プロパティの Web アクション メソッドを確認してください。.\",\r\n      \"FormDesigner Edit text\": \"フォーム フィールドの追加と編集\",\r\n      SubmitForm: \"フォームを送信\",\r\n      Depth: \"深さ\",\r\n      Closed: \"閉まっている\",\r\n      Round: \"円形\",\r\n      Square: \"平方\",\r\n      Diamond: \"ダイヤモンド\",\r\n      Edit: \"編集\",\r\n      Comment: \"コメント\",\r\n      \"Comment Panel\": \"コメントパネル\",\r\n      \"Set Status\": \"ステータスの設定\",\r\n      Post: \"役職\",\r\n      Page: \"ページ\",\r\n      \"Add a comment\": \"コメントを追加\",\r\n      \"Add a reply\": \"返信を追加する\",\r\n      \"Import Annotations\": \"JSONファイルから注釈をインポートする\",\r\n      \"Export Annotations\": \"注釈をJSONファイルにエクスポートする\",\r\n      \"Export XFDF\": \"XFDFファイルに注釈をエクスポートする\",\r\n      \"Import XFDF\": \"XFDFファイルから注釈をインポートする\",\r\n      Add: \"追加\",\r\n      Clear: \"晴れ\",\r\n      Bold: \"大胆な\",\r\n      Italic: \"イタリック\",\r\n      Strikethroughs: \"取り消し線\",\r\n      Underlines: \"下線を引く\",\r\n      Superscript: \"上付き文字\",\r\n      Subscript: \"添字\",\r\n      \"Align left\": \"左揃え\",\r\n      \"Align right\": \"右揃え\",\r\n      Center: \"センター\",\r\n      Justify: \"正当化する\",\r\n      \"Font color\": \"フォントの色\",\r\n      \"Text Align\": \"テキストの整列\",\r\n      \"Text Properties\": \"フォントスタイル\",\r\n      SignatureFieldDialogHeaderText: \"署名を追加する\",\r\n      HandwrittenSignatureDialogHeaderText: \"署名を追加する\",\r\n      InitialFieldDialogHeaderText: \"イニシャルを追加\",\r\n      HandwrittenInitialDialogHeaderText: \"イニシャルを追加\",\r\n      \"Draw Ink\": \"インクを引く\",\r\n      Create: \"作成する\",\r\n      \"Font family\": \"フォントファミリー\",\r\n      \"Font size\": \"フォントサイズ\",\r\n      \"Free Text\": \"フリーテキスト\",\r\n      \"Import Failed\":\r\n        \"無効なJSONファイルタイプまたはファイル名。有効なJSONファイルを選択してください\",\r\n      \"File not found\":\r\n        \"インポートされたJSONファイルが目的の場所に見つかりません\",\r\n      \"Export Failed\":\r\n        \"注釈のエクスポートアクションが失敗しました。注釈が適切に追加されていることを確認してください\",\r\n      of: \"の \",\r\n      Dynamic: \"動的\",\r\n      \"Standard Business\": \"標準的なビジネス\",\r\n      \"Sign Here\": \"ここにサインしてください\",\r\n      \"Custom Stamp\": \"カスタムスタンプ\",\r\n      \"Enter Signature as Name\": \"あなたの名前を入力してください\",\r\n      \"Draw-hand Signature\": \"ドロー\",\r\n      \"Type Signature\": \"タイプ\",\r\n      \"Upload Signature\": \"アップロード\",\r\n      \"Browse Signature Image\": \"ブラウズ\",\r\n      \"Save Signature\": \"署名を保存\",\r\n      \"Save Initial\": \"初期値を保存\",\r\n      Textbox: \"テキストボックス\",\r\n      Password: \"パスワード\",\r\n      \"Check Box\": \"チェックボックス\",\r\n      \"Radio Button\": \"ラジオボタン\",\r\n      Dropdown: \"落ちる\",\r\n      \"List Box\": \"リストボックス\",\r\n      Signature: \"サイン\",\r\n      \"Delete FormField\": \"フォーム フィールドの削除\",\r\n      \"Textbox Properties\": \"テキストボックスのプロパティ\",\r\n      Name: \"名前\",\r\n      Tooltip: \"ツールチップ\",\r\n      Value: \"価値\",\r\n      \"Form Field Visibility\": \"フォーム フィールドの可視性\",\r\n      \"Read Only\": \"読み取り専用\",\r\n      Required: \"必須\",\r\n      Checked: \"チェック済み\",\r\n      \"Show Printing\": \"ショーの印刷\",\r\n      Formatting: \"フォーマット\",\r\n      Fill: \"塗りつぶし\",\r\n      Border: \"国境\",\r\n      \"Border Color\": \"ボーダの色\",\r\n      Thickness: \"厚さ\",\r\n      \"Max Length\": \"最大長\",\r\n      \"List Item\": \"項目名\",\r\n      \"Export Value\": \"アイテムの価値\",\r\n      \"Dropdown Item List\": \"ドロップダウン項目一覧\",\r\n      \"List Box Item List\": \"リストボックス項目一覧\",\r\n      General: \"全般的\",\r\n      Appearance: \"外観\",\r\n      Options: \"オプション\",\r\n      \"Delete Item\": \"消去\",\r\n      Up: \"上\",\r\n      Down: \"下\",\r\n      Multiline: \"マルチライン\",\r\n      Revised: \"改訂\",\r\n      Reviewed: \"審査\",\r\n      Received: \"受け取った\",\r\n      Confidential: \"機密\",\r\n      Approved: \"承認済み\",\r\n      \"Not Approved\": \"未承認\",\r\n      Witness: \"目撃者\",\r\n      \"Initial Here\": \"イニシャルはこちら\",\r\n      Draft: \"下書き\",\r\n      Final: \"最後の\",\r\n      \"For Public Release\": \"公開用\",\r\n      \"Not For Public Release\": \"非公開\",\r\n      \"For Comment\": \"コメント用\",\r\n      Void: \"空所\",\r\n      \"Preliminary Results\": \"暫定結果\",\r\n      \"Information Only\": \"情報提供のみ\",\r\n      in: \"の\",\r\n      m: \"メートル\",\r\n      ft_in: \"ft_in\",\r\n      ft: \"フィート\",\r\n      p: \"p\",\r\n      cm: \"cm\",\r\n      mm: \"んん\",\r\n      pt: \"ポイント\",\r\n      cu: \"キュ\",\r\n      sq: \"平方\",\r\n      Initial: \"イニシャル\",\r\n    },\r\n    diagram: {\r\n      Copy: \"コピー\",\r\n      Cut: \"切る\",\r\n      Paste: \"ペースト\",\r\n      Undo: \"元に戻す\",\r\n      Redo: \"やり直し\",\r\n      SelectAll: \"すべて選択\",\r\n      Grouping: \"グルーピング\",\r\n      Group: \"グループ\",\r\n      UnGroup: \"グループ解除\",\r\n      Order: \"注文\",\r\n      BringToFront: \"前に持ってくる\",\r\n      MoveForward: \"前進する\",\r\n      SendToBack: \"後ろに送る\",\r\n      SendBackward: \"後方に送ります\",\r\n    },\r\n    \"inplace-editor\": {\r\n      save: \"セーブ\",\r\n      cancel: \"キャンセル\",\r\n      loadingText: \"読み込み中...\",\r\n      editIcon: \"クリックして編集する\",\r\n      editAreaClick: \"クリックして編集する\",\r\n      editAreaDoubleClick: \"ダブルクリックして編集します\",\r\n    },\r\n    drawing: {},\r\n    \"drop-down-base\": {\r\n      noRecordsTemplate: \"レコードが見つかりません\",\r\n      actionFailureTemplate: \"リクエストに失敗しました\",\r\n    },\r\n    chart: {\r\n      Zoom: \"ズーム\",\r\n      ZoomIn: \"ズームイン\",\r\n      ZoomOut: \"ズームアウトする\",\r\n      Reset: \"リセットする\",\r\n      Pan: \"パン\",\r\n      ResetZoom: \"ズームをリセット\",\r\n    },\r\n    maps: {\r\n      Zoom: \"ズーム\",\r\n      ZoomIn: \"ズームイン\",\r\n      ZoomOut: \"ズームアウトする\",\r\n      Reset: \"リセットする\",\r\n      Pan: \"パン\",\r\n      ResetZoom: \"ズームをリセット\",\r\n      ImageNotFound: \"画像が見つかりません\",\r\n    },\r\n    \"drop-down-tree\": {\r\n      noRecordsTemplate: \"レコードが見つかりません\",\r\n      actionFailureTemplate: \"要求が失敗しました\",\r\n      overflowCountTemplate: \"+ ${count}もっと..\",\r\n      totalCountTemplate: \"${count}が選択されました\",\r\n    },\r\n    documenteditor: {\r\n      Table: \"テーブル\",\r\n      Row: \"行\",\r\n      Cell: \"細胞\",\r\n      Ok: \"OK\",\r\n      Apply: \"ゆっくりと簡単に\",\r\n      Cancel: \"キャンセル\",\r\n      Size: \"サイズ\",\r\n      \"Preferred Width\": \"優先幅\",\r\n      Points: \"ポイント\",\r\n      Percent: \"パーセント\",\r\n      \"Measure in\": \"で測定\",\r\n      Alignment: \"アライメント\",\r\n      Left: \"左\",\r\n      Center: \"センター\",\r\n      Right: \"正しい\",\r\n      Decimal: \"小数点第1位付き\",\r\n      Bar: \"セミ\",\r\n      Leader: \"システム管理者\",\r\n      Tab: \"未払いの請求書\",\r\n      BookMarkList: \"マークされたドキュメントのリスト。\",\r\n      TabMarkList: \"段落内のページをリストします。\",\r\n      \"Tab stop position\": \"ディスク領域\",\r\n      \"Default tab stops\": \"普通ではないゴーカート\",\r\n      \"Tab stops to be cleared\": \"交換可能なカード\",\r\n      Tabs: \"タブウィンドウ\",\r\n      Set: \"使用法\",\r\n      Clear: \"透明\",\r\n      \"Clear All\": \"すべてを削除します\",\r\n      Justify: \"正当化\",\r\n      \"Indent from left\": \"左からインデント\",\r\n      \"Borders and Shading\": \"ボーダーとシェーディング\",\r\n      Options: \"オプション\",\r\n      \"Specify height\": \"高さを指定\",\r\n      \"At least\": \"少なくとも\",\r\n      Exactly: \"丁度\",\r\n      \"Row height is\": \"行の高さは\",\r\n      \"Allow row to break across pages\": \"行がページ間で分割できるようにする\",\r\n      \"Repeat as header row at the top of each page\":\r\n        \"各ページの上部にヘッダー行として繰り返します\",\r\n      \"Vertical alignment\": \"垂直方向の配置\",\r\n      Top: \"上\",\r\n      Bottom: \"底\",\r\n      \"Default cell margins\": \"デフォルトのセルマージン\",\r\n      \"Default cell spacing\": \"デフォルトのセル間隔\",\r\n      \"Allow spacing between cells\": \"セル間の間隔を許可する\",\r\n      \"Cell margins\": \"セルの余白\",\r\n      \"Same as the whole table\": \"テーブル全体と同じ\",\r\n      Borders: \"ボーダーズ\",\r\n      None: \"なし\",\r\n      Style: \"スタイル\",\r\n      Width: \"幅\",\r\n      Height: \"高さ\",\r\n      Letter: \"文字\",\r\n      Tabloid: \"タブロイド\",\r\n      Legal: \"法的\",\r\n      Statement: \"ステートメント\",\r\n      Executive: \"エグゼクティブ\",\r\n      A3: \"A3\",\r\n      A4: \"A4\",\r\n      A5: \"A5\",\r\n      B4: \"B4\",\r\n      B5: \"B5\",\r\n      \"Custom Size\": \"カスタムサイズ\",\r\n      \"Different odd and even\": \"奇数と偶数が異なる\",\r\n      \"Different first page\": \"別の最初のページ\",\r\n      \"From edge\": \"端から\",\r\n      Header: \"ヘッダ\",\r\n      Footer: \"フッター\",\r\n      \"First Page Header\": \"最初のページのヘッダー\",\r\n      \"First Page Footer\": \"最初のページのフッター\",\r\n      \"Even Page Header\": \"ページヘッダーも\",\r\n      \"Even Page Footer\": \"ページフッターも\",\r\n      \"Odd Page Header\": \"奇数ページヘッダー\",\r\n      \"Odd Page Footer\": \"奇数ページのフッター\",\r\n      \"Same as Previous\": \"前回と同じ\",\r\n      Section: \"セクション\",\r\n      Margin: \"マージン\",\r\n      Paper: \"論文\",\r\n      Layout: \"レイアウト\",\r\n      Orientation: \"オリエンテーション\",\r\n      Landscape: \"風景\",\r\n      Portrait: \"肖像画\",\r\n      \"Show page numbers\": \"ページ番号を表示する\",\r\n      \"Right align page numbers\": \"ページ番号を右揃え\",\r\n      Nothing: \"なし\",\r\n      \"Tab leader\": \"タブリーダー\",\r\n      \"Show levels\": \"レベルを表示\",\r\n      \"Use hyperlinks instead of page numbers\":\r\n        \"ページ番号の代わりにハイパーリンクを使用する\",\r\n      \"Build table of contents from\": \"目次の作成\",\r\n      Styles: \"スタイル\",\r\n      \"Available styles\": \"利用可能なスタイル\",\r\n      \"TOC level\": \"TOCレベル\",\r\n      Heading: \"見出し\",\r\n      \"Heading 1\": \"見出し1\",\r\n      \"Heading 2\": \"見出し2\",\r\n      \"Heading 3\": \"見出し3\",\r\n      \"Heading 4\": \"見出し4\",\r\n      \"Heading 5\": \"見出し5\",\r\n      \"Heading 6\": \"見出し6\",\r\n      \"List Paragraph\": \"リスト段落\",\r\n      Normal: \"普通\",\r\n      \"Outline levels\": \"アウトラインレベル\",\r\n      \"Table entry fields\": \"テーブル入力フィールド\",\r\n      Modify: \"変更する\",\r\n      Color: \"色\",\r\n      Setting: \"設定\",\r\n      Box: \"ボックス\",\r\n      All: \"すべて\",\r\n      Custom: \"カスタム\",\r\n      Preview: \"プレビュー\",\r\n      Shading: \"シェーディング\",\r\n      Fill: \"塗りつぶし\",\r\n      \"Apply To\": \"に適用\",\r\n      \"Table Properties\": \"テーブルのプロパティ\",\r\n      \"Cell Options\": \"セルオプション\",\r\n      \"Table Options\": \"テーブルオプション\",\r\n      \"Insert Table\": \"テーブルを挿入\",\r\n      \"Number of columns\": \"列の数\",\r\n      \"Number of rows\": \"行の数\",\r\n      \"Text to display\": \"表示するテキスト\",\r\n      \"ScreenTip text\": \"ヒントのテキスト\",\r\n      Address: \"住所\",\r\n      \"Insert Hyperlink\": \"ハイパーリンクを挿入\",\r\n      \"Edit Hyperlink\": \"ハイパーリンクを編集\",\r\n      Insert: \"インサート\",\r\n      General: \"全般\",\r\n      \"The number must be between\": \"数値は 1 ～ 9 でなければなりません\",\r\n      \"The Invalid number\": \"これは有効な番号ではありません\",\r\n      Indentation: \"くぼみ\",\r\n      \"Before text\": \"テキストの前\",\r\n      Special: \"特別\",\r\n      \"First line\": \"最初の行\",\r\n      Hanging: \"ぶら下げ\",\r\n      \"After text\": \"テキストの後\",\r\n      By: \"沿って\",\r\n      Before: \"前\",\r\n      \"Line Spacing\": \"行間隔\",\r\n      After: \"後\",\r\n      At: \"で\",\r\n      Multiple: \"複数\",\r\n      Spacing: \"間隔\",\r\n      \"Define new Multilevel list\": \"新しいマルチレベルリストを定義する\",\r\n      \"List level\": \"リストレベル\",\r\n      \"Choose level to modify\": \"変更するレベルを選択してください\",\r\n      Level: \"レベル\",\r\n      \"Number format\": \"数値形式\",\r\n      \"Number style for this level\": \"このレベルの番号スタイル\",\r\n      \"Enter formatting for number\": \"番号の書式を入力してください\",\r\n      \"Start at\": \"で開始\",\r\n      \"Restart list after\": \"後の再起動リスト\",\r\n      Position: \"ポジション\",\r\n      \"Text indent at\": \"テキストインデント\",\r\n      \"Aligned at\": \"に整列\",\r\n      \"Follow number with\": \"番号をフォロー\",\r\n      \"Tab character\": \"タブ文字\",\r\n      Space: \"スペース\",\r\n      Arabic: \"アラビア語\",\r\n      UpRoman: \"アップローマ\",\r\n      LowRoman: \"ローマン\",\r\n      UpLetter: \"アップレター\",\r\n      LowLetter: \"ローレター\",\r\n      Number: \"数\",\r\n      \"Leading zero\": \"先行ゼロ\",\r\n      Bullet: \"弾丸\",\r\n      Ordinal: \"序数\",\r\n      \"Ordinal Text\": \"序文\",\r\n      \"For East\": \"東方\",\r\n      \"No Restart\": \"再起動なし\",\r\n      Font: \"フォント\",\r\n      \"Font style\": \"フォントスタイル\",\r\n      \"Underline style\": \"下線スタイル\",\r\n      \"Font color\": \"フォントの色\",\r\n      Effects: \"効果\",\r\n      Strikethrough: \"取り消し線\",\r\n      Superscript: \"上付き\",\r\n      Subscript: \"添字\",\r\n      \"Double strikethrough\": \"二重取り消し線\",\r\n      Regular: \"レギュラー\",\r\n      Bold: \"大胆な\",\r\n      Italic: \"イタリック\",\r\n      Cut: \"切る\",\r\n      Copy: \"コピー\",\r\n      Paste: \"ペースト\",\r\n      Hyperlink: \"ハイパーリンク\",\r\n      \"Open Hyperlink\": \"ハイパーリンクを開く\",\r\n      \"Copy Hyperlink\": \"ハイパーリンクをコピー\",\r\n      \"Remove Hyperlink\": \"ハイパーリンクを削除\",\r\n      Paragraph: \"段落\",\r\n      \"Linked Style\": \"リンク済み（段落とキャラクター）\",\r\n      Character: \"キャラクター\",\r\n      \"Merge Cells\": \"セルを結合します\",\r\n      \"Insert Above\": \"上に挿入\",\r\n      \"Insert Below\": \"下に挿入\",\r\n      \"Insert Left\": \"左に挿入\",\r\n      \"Insert Right\": \"右に挿入\",\r\n      Delete: \"削除\",\r\n      \"Delete Table\": \"テーブルを削除\",\r\n      \"Delete Row\": \"行を削除\",\r\n      \"Delete Column\": \"列を削除\",\r\n      \"File Name\": \"ファイル名\",\r\n      \"Format Type\": \"フォーマットタイプ\",\r\n      Save: \"セーブ\",\r\n      Navigation: \"ナビゲーション\",\r\n      Results: \"結果\",\r\n      Replace: \"交換\",\r\n      \"Replace All\": \"すべて置換\",\r\n      \"We replaced all\": \"すべて交換しました\",\r\n      Find: \"見つける\",\r\n      \"No matches\": \"一致なし\",\r\n      \"All Done\": \"全部できた\",\r\n      Result: \"結果\",\r\n      of: \"の\",\r\n      instances: \"インスタンス\",\r\n      with: \"と\",\r\n      \"Click to follow link\": \"クリックしてリンクをたどる\",\r\n      \"Continue Numbering\": \"番号付けを続ける\",\r\n      \"Bookmark name\": \"ブックマーク名\",\r\n      Close: \"閉じる\",\r\n      \"Restart At\": \"再起動\",\r\n      Properties: \"プロパティ\",\r\n      Name: \"名前\",\r\n      \"Style type\": \"スタイルタイプ\",\r\n      \"Style based on\": \"に基づくスタイル\",\r\n      \"Style for following paragraph\": \"次の段落のスタイル\",\r\n      Formatting: \"書式設定\",\r\n      \"Numbering and Bullets\": \"番号付けと箇条書き\",\r\n      Numbering: \"番号付け\",\r\n      \"Update Field\": \"更新フィールド\",\r\n      \"Edit Field\": \"フィールドを編集\",\r\n      Bookmark: \"しおり\",\r\n      \"Page Setup\": \"ページ設定\",\r\n      \"No bookmarks found\": \"ブックマークが見つかりません\",\r\n      \"Number format tooltip information\":\r\n        \"単一レベルの数値形式：</br> [PREFIX]％[LEVELNUMBER] [SUFFIX] </br>たとえば、「Chapter％1。」 </br>第1章アイテム</br>第2章アイテム</br>…</br>第N章アイテム</br> </br>マルチレベル番号形式：</br> [ PREFIX]％[LEVELNUMBER] [SUFFIX] + [PREFIX]％[LEVELNUMBER] [SUFFIX] </br>たとえば、「％1.％2」 1.1のような番号が表示されます。アイテム</br> 1.2。アイテム</br>…</br> 1.N.項目\",\r\n      Format: \"フォーマット\",\r\n      \"Create New Style\": \"新しいスタイルを作成\",\r\n      \"Modify Style\": \"スタイルを変更\",\r\n      New: \"新着\",\r\n      Bullets: \"箇条書き\",\r\n      \"Use bookmarks\": \"ブックマークを使用する\",\r\n      \"Table of Contents\": \"目次\",\r\n      AutoFit: \"自動調整\",\r\n      \"AutoFit to Contents\": \"コンテンツへの自動適合\",\r\n      \"AutoFit to Window\": \"ウィンドウに自動調整\",\r\n      \"Fixed Column Width\": \"固定列幅\",\r\n      Reset: \"リセットする\",\r\n      \"Match case\": \"マッチケース\",\r\n      \"Whole words\": \"全体の言葉\",\r\n      Add: \"追加\",\r\n      \"Go To\": \"に行く\",\r\n      \"Search for\": \"検索する\",\r\n      \"Replace with\": \"と置換する\",\r\n      \"TOC 1\": \"目次1\",\r\n      \"TOC 2\": \"目次2\",\r\n      \"TOC 3\": \"目次3\",\r\n      \"TOC 4\": \"目次4\",\r\n      \"TOC 5\": \"目次5\",\r\n      \"TOC 6\": \"目次6\",\r\n      \"TOC 7\": \"目次7\",\r\n      \"TOC 8\": \"目次8\",\r\n      \"TOC 9\": \"目次9\",\r\n      \"Right-to-left\": \"右から左に\",\r\n      \"Left-to-right\": \"左から右へ\",\r\n      Direction: \"方向\",\r\n      \"Table direction\": \"テーブルの方向\",\r\n      \"Indent from right\": \"右からインデント\",\r\n      \"Contextual Spacing\":\r\n        \"同じスタイルの段落間にスペースを追加しないでください\",\r\n      \"Password Mismatch\": \"パスワードが一致しません\",\r\n      \"Restrict Editing\": \"編集を制限する\",\r\n      \"Formatting restrictions\": \"フォーマットの制限\",\r\n      \"Allow formatting\": \"フォーマットを許可する\",\r\n      \"Editing restrictions\": \"編集制限\",\r\n      \"Read only\": \"読み取り専用\",\r\n      \"Exceptions Optional\": \"例外（オプション）\",\r\n      \"Select Part Of Document And User\":\r\n        \"文書の一部を選択し、自由に編集できるユーザーを選択します。\",\r\n      Everyone: \"全員\",\r\n      \"More users\": \"より多くのユーザー\",\r\n      \"Add Users\": \"ユーザーを追加\",\r\n      \"Enforcing Protection\": \"はい、保護の実施を開始します\",\r\n      \"Start Enforcing Protection\": \"保護の実施を開始\",\r\n      \"Enter User\": \"ユーザーを入力\",\r\n      Users: \"ユーザー\",\r\n      \"Enter new password\": \"新しいパスワードを入力してください\",\r\n      \"Reenter new password to confirm\":\r\n        \"確認のために新しいパスワードを再入力してください\",\r\n      \"Your permissions\": \"あなたの許可\",\r\n      \"Protected Document\":\r\n        \"このドキュメントは意図しない編集から保護されています。この地域で編集できます。\",\r\n      FormFieldsOnly: \"この地域のフォームにのみ記入できます。\",\r\n      CommentsOnly: \"この領域にのみコメントを挿入できます。\",\r\n      ReadOnlyProtection: \"この地域で編集できます。\",\r\n      \"Stop Protection\": \"保護を停止\",\r\n      Password: \"パスワード\",\r\n      \"Spelling Editor\": \"スペルエディター\",\r\n      Spelling: \"つづり\",\r\n      \"Spell Check\": \"スペルチェック\",\r\n      \"Underline errors\": \"エラーに下線を引く\",\r\n      Ignore: \"無視する\",\r\n      \"Ignore All\": \"すべて無視\",\r\n      \"Add to Dictionary\": \"辞書に追加\",\r\n      Change: \"変化する\",\r\n      \"Change All\": \"すべて変更\",\r\n      Suggestions: \"提案\",\r\n      \"The password is incorrect\": \"パスワードが間違っています\",\r\n      \"Error in establishing connection with web server\":\r\n        \"Webサーバーとの接続を確立する際のエラー\",\r\n      \"Highlight the regions I can edit\": \"編集可能な地域をハイライトします\",\r\n      \"Show All Regions I Can Edit\": \"編集可能なすべての地域を表示\",\r\n      \"Find Next Region I Can Edit\": \"編集可能な次の地域を検索\",\r\n      \"Keep source formatting\": \"ソースのフォーマットを保持\",\r\n      \"Match destination formatting\": \"一致先のフォーマット\",\r\n      \"Text only\": \"テキストのみ\",\r\n      Comments: \"コメント\",\r\n      \"Type your comment\": \"コメントを入力してください\",\r\n      Post: \"役職\",\r\n      Reply: \"応答\",\r\n      \"New Comment\": \"新しいコメント\",\r\n      Edit: \"編集\",\r\n      Resolve: \"解決する\",\r\n      Reopen: \"再開する\",\r\n      \"No comments in this document\":\r\n        \"このドキュメントにはコメントがありません\",\r\n      more: \"もっと\",\r\n      \"Type your comment here\": \"ここにコメントを入力してください\",\r\n      \"Next Comment\": \"次のコメント\",\r\n      \"Previous Comment\": \"前のコメント\",\r\n      \"Un-posted comments\": \"未投稿のコメント\",\r\n      \"Discard Comment\":\r\n        \"投稿されていないコメントを追加しました。続行すると、そのコメントは破棄されます。\",\r\n      Discard: \"破棄\",\r\n      \"No Headings\": \"見出しが見つかりません！\",\r\n      \"Add Headings\":\r\n        \"このドキュメントには見出しがありません。見出しを追加してもう一度お試しください。\",\r\n      \"More Options\": \"より多くのオプション\",\r\n      \"Click to see this comment\": \"クリックしてこのコメントを表示\",\r\n      \"Drop Down Form Field\": \"ドロップダウンフォームフィールド\",\r\n      \"Drop-down items\": \"ドロップダウンアイテム\",\r\n      \"Items in drop-down list\": \"ドロップダウンリストの項目\",\r\n      ADD: \"追加\",\r\n      REMOVE: \"削除する\",\r\n      \"Field settings\": \"フィールド設定\",\r\n      Tooltip: \"ツールチップ\",\r\n      \"Drop-down enabled\": \"ドロップダウンが有効\",\r\n      \"Check Box Form Field\": \"チェックボックスフォームフィールド\",\r\n      \"Check box size\": \"チェックボックスサイズ\",\r\n      Auto: \"自動\",\r\n      \"Default value\": \"デフォルト値\",\r\n      \"Not checked\": \"未検査\",\r\n      Checked: \"チェック済み\",\r\n      \"Check box enabled\": \"チェックボックスを有効にしました\",\r\n      \"Text Form Field\": \"テキストフォームフィールド\",\r\n      Type: \"タイプ\",\r\n      \"Default text\": \"デフォルトのテキスト\",\r\n      \"Maximum length\": \"最大長\",\r\n      \"Text format\": \"テキスト形式\",\r\n      \"Fill-in enabled\": \"フィルインが有効\",\r\n      \"Default number\": \"デフォルト番号\",\r\n      \"Default date\": \"デフォルトの日付\",\r\n      \"Date format\": \"日付形式\",\r\n      \"Merge Track\":\r\n        \"このアクションは変更としてマークされません。続けたいですか？\",\r\n      UnTrack: \"追跡できません\",\r\n      Accept: \"受け入れる\",\r\n      Reject: \"拒否する\",\r\n      \"Previous Changes\": \"以前の変更\",\r\n      \"Next Changes\": \"次の変更\",\r\n      Inserted: \"挿入\",\r\n      Deleted: \"削除しました\",\r\n      \"Move From\": \"そして\",\r\n      \"Move To\": \"怒り\",\r\n      Changes: \"変化\",\r\n      \"Accept all\": \"すべてを受け入れる\",\r\n      \"Reject all\": \"すべて拒否\",\r\n      \"No changes\": \"変更なし\",\r\n      \"Accept Changes\": \"変更を受け入れる\",\r\n      \"Reject Changes\": \"変更を拒否\",\r\n      User: \"ユーザー\",\r\n      View: \"見る\",\r\n      Insertion: \"挿入\",\r\n      Deletion: \"削除\",\r\n      \"All caps\": \"すべて大文字\",\r\n      \"This region is locked by\": \"この地域はによってロックされています\",\r\n      Lock: \"ロック\",\r\n      Unlock: \"ロックを解除する\",\r\n      \"Already locked\":\r\n        \"選択された領域または領域の一部がすでに別のユーザーによってロックされています\",\r\n      \"1, 2, 3, ...\": \"1、2、3、..。\",\r\n      \"a, b, c, ...\": \"a、b、c、..。\",\r\n      \"A, B, C, ...\": \"A、B、C、...\",\r\n      \"I, II, III, ...\": \"I、II、III、...\",\r\n      \"i, ii, iii, ...\": \"i、ii、iii、..。\",\r\n      \"Text Form\": \"テキストフォーム\",\r\n      \"Check Box\": \"チェックボックス\",\r\n      DropDown: \"落ちる\",\r\n      \"Form Fields\": \"フォームフィールド\",\r\n      \"Fillin enabled\": \"入力が有効\",\r\n      \"Multiple Comment\": \"コメントを投稿してください\",\r\n      InsertFootnote: \"挿入脚注\",\r\n      InsertEndnote: \"文末脚注の挿入\",\r\n      Footnote: \"脚注\",\r\n      Endnote: \"巻末注\",\r\n      \"Notes Options\": \"オプションを確認してください\",\r\n      \"Click to View/Edit Footnote\":\r\n        \"脚注を表示/編集するにはクリックしてください\",\r\n      \"Click to View/Edit Endnote\": \"クリックして文末脚注を表示/編集\",\r\n      InsertAsRows: \"新しい行として挿入\",\r\n      InsertAsColumns: \"新しい列として挿入\",\r\n      OverwriteCells: \"セルを上書きする\",\r\n      NestTable: \"ネストテーブル\",\r\n      \"No suggestions\": \"提案はありません\",\r\n      \"More Suggestion\": \"より多くの提案\",\r\n      \"Ignore Once\": \"一度無視する\",\r\n      \"Keep With Next\": \"次を続ける\",\r\n      \"Keep Lines Together\": \"行を一緒に保つ\",\r\n      WidowControl: \"未亡人/孤児のコントロール\",\r\n      \"Indents and Spacing\": \"インデントと間隔\",\r\n      \"Line and Page Breaks\": \"行とページの区切り\",\r\n      Pagination: \"ページ付け\",\r\n      Single: \"独身\",\r\n      DashSmallGap: \"ダッシュ小ギャップ\",\r\n      DashDot: \"ダッシュドット\",\r\n      Double: \"ダブル\",\r\n      ThinThickSmallGap: \"薄厚小ギャップ\",\r\n      ThickThinSmallGap: \"厚い薄い小さなギャップ\",\r\n      ThickThinMediumGap: \"厚い薄い中ギャップ\",\r\n      ThickThinLargeGap: \"厚い薄い大ギャップ\",\r\n      SingleWavy: \"シングルウェーブ\",\r\n      DoubleWavy: \"ダブルウェーブ\",\r\n      Inset: \"挿入図\",\r\n      DashLargeGap: \"ダッシュ大ギャップ\",\r\n      Dot: \"ドット\",\r\n      DashDotDot: \"ダッシュドットドット\",\r\n      Triple: \"トリプル\",\r\n      ThinThickThinSmallGap: \"薄厚薄小ギャップ\",\r\n      ThinThickThinMediumGap: \"薄厚薄中ギャップ\",\r\n      ThinThickThinLargeGap: \"薄厚薄大ギャップ\",\r\n      DashDotStroked: \"ダッシュドットストローク\",\r\n      Engrave3D: \"彫刻3D\",\r\n      Thick: \"厚い\",\r\n      Outset: \"最初\",\r\n      Emboss3D: \"エンボス3D\",\r\n      ThinThickLargeGap: \"薄厚大ギャップ\",\r\n      ThinThickMediumGap: \"薄厚中ギャップ\",\r\n      \"Number of rows must be between\": \"行数は次の範囲内である必要があります\",\r\n      \"Number of columns must be between\":\r\n        \"列数は次の範囲内である必要があります\",\r\n      and: \"と\",\r\n      Unlimited: \"無制限\",\r\n      \"Regular text\": \"通常のテキスト\",\r\n      Date: \"日にち\",\r\n      Uppercase: \"大文字\",\r\n      Lowercase: \"小文字\",\r\n      FirstCapital: \"ファーストキャピタル\",\r\n      TitleCase: \"タイトルケース\",\r\n      \"Filling in forms\": \"フォームへの記入\",\r\n      px: \"ピクセル\",\r\n      \"Tracked changes\": \"追跡された変更\",\r\n      TrackChangesOnly:\r\n        \"このリージョンで編集できますが、すべての変更が追跡されます。\",\r\n      RemovedIgnore: \"無視された例外を削除しますか？\",\r\n      RemovedIgnoreExceptions:\r\n        \"ドキュメント保護でこの変更を行うと、Wordはこのドキュメントのすべての例外を無視します。\",\r\n      Information: \"情報\",\r\n      Yes: \"はい\",\r\n      No: \"番号\",\r\n      \"Page Break\": \"改ページ\",\r\n      \"Column Break\": \"段区切り\",\r\n      \"Section Break Next Page\": \"セクション区切り (次のページ)\",\r\n      \"Section Break Continuous\": \"セクション区切り (連続)\",\r\n      \"Unsupported format\":\r\n        \"選択したファイル形式はサポートされていません。有効な形式を選択してください。\",\r\n      One: \"一\",\r\n      Two: \"二\",\r\n      Three: \"三つ\",\r\n      Presets: \"プリセット\",\r\n      Columns: \"コラム\",\r\n      \"Split your text into two or more columns\":\r\n        \"テキストを 2 つ以上の列に分割する\",\r\n      \"Line between column\": \"列間の線\",\r\n      \"Width and Spacing\": \"幅と間隔\",\r\n      \"Equal column width\": \"列幅が等しい\",\r\n      Column: \"桁\",\r\n      \"Paste Content Dialog\":\r\n        \"ブラウザのセキュリティ ポリシーにより、システム クリップボードからの貼り付けは制限されています。\",\r\n      \"Paste Content CheckBox\": \"二度と現れないでください\",\r\n      \"The top/bottom margins are too large for the page height in some sections.\":\r\n        \"一部のセクションでは、上下の余白がページの高さに対して大きすぎます。\",\r\n      \"Column width cannot be less than 36 pt.\":\r\n        \"列幅は 36 ポイント未満にすることはできません。\",\r\n      \"Left and right margins.\":\r\n        \"左右の余白、段落の間隔、または段落のインデントに対して選択した設定が、同じセクションのページ幅に対して大きすぎます。\",\r\n      \"The address of this site is 'not valid. Check the address and try again.\":\r\n        \"このサイトのアドレスは無効です。アドレスを確認して再試行してください。\",\r\n      \"Alt Text\": \"代替テキスト\",\r\n      Title: \"タイトル\",\r\n      Description: \"説明\",\r\n      \"Left Indent\": \"コミュニケーション分野\",\r\n      \"Right Indent\": \"正しいコース\",\r\n      \"Hanging Indent\": \"誰もが果たすべき役割を持っています\",\r\n      \"First Line Indent\": \"1つ目はラインの曲がりです。\",\r\n      \"Left Margin\": \"左隅\",\r\n      \"Right Margin\": \"良い良い\",\r\n      \"Top Margin\": \"テスタ\",\r\n      \"Bottom Margin\": \"オンにする\",\r\n      \"Left Tab\": \"左の耳\",\r\n      \"Right Tab\": \"右耳\",\r\n      \"Center Tab\": \"中央インジケーター\",\r\n      \"Decimal Tab\": \"動物の屠殺\",\r\n      \"Bar Tab\": \"コミルヴィ\",\r\n      \"Move Table Column\": \"テーブルの列を移動する\",\r\n      external: \"コンテンツコントロールを削除します\",\r\n      \"Content Control Properties\": \"コンテンツ制御プロパティ\",\r\n      \"Remove content control when contents are edited\":\r\n        \"コンテンツが編集されたら、コンテンツコントロールを削除します\",\r\n      \"Content control cannot be deleted\":\r\n        \"コンテンツコントロールを削除することはできません\",\r\n      \"Contents cannot be edited\": \"内容は編集できません\",\r\n      \"Plain Text properties\": \"プレーンテキストプロパティ\",\r\n      \"Allow carriage returns\": \"キャリッジの返品を許可します\",\r\n      \"Drop_Down List properties\": \"Drop_Downリストプロパティ\",\r\n      \"Display Text\": \"テキストを表示します\",\r\n      Locking: \"ロック\",\r\n      Tag: \"鬼ごっこ\",\r\n      Value: \"価値\",\r\n      PictureContentControl: \"PictureContentControl\",\r\n      \"Upload from computer\": \"コンピュータからアップロード\",\r\n      Picture: \"写真\",\r\n      \"Choose an item\": \"アイテムを選択してください\",\r\n      \"Paste CheckBox Content Dialog\": \"二度と表示しないでください\",\r\n      \"The address of this site is not valid. Check the address and try again.\":\r\n        \"このサイトのアドレスは無効です。\",\r\n      \"Left and right margins\":\r\n        \"左右の余白、段落の間隔、または段落のインデントに対して選択した設定が、同じセクションのページ幅に対して大きすぎます。\",\r\n      \"Number of rows must be between 1 and 32767.\":\r\n        \"行数は 1 ～ 32767 でなければなりません。\",\r\n      \"Number of columns must be between 1 and 63.\":\r\n        \"列数は 1 ～ 63 でなければなりません。\",\r\n      \"You may format text only with certain styles\":\r\n        \"特定のスタイルでのみテキストを書式設定できます。\",\r\n      \"Ignore all\": \"すべて無視\",\r\n    },\r\n    documenteditorcontainer: {\r\n      New: \"新着\",\r\n      Open: \"開いた\",\r\n      Undo: \"元に戻す\",\r\n      Redo: \"やり直し\",\r\n      Image: \"画像\",\r\n      Table: \"テーブル\",\r\n      Link: \"リンク\",\r\n      Bookmark: \"しおり\",\r\n      \"Table of Contents\": \"目次\",\r\n      \"HEADING - - - - 1\": \"見出し----1\",\r\n      \"HEADING - - - - 2\": \"見出し----2\",\r\n      \"HEADING - - - - 3\": \"見出し----3\",\r\n      Header: \"ヘッダ\",\r\n      Footer: \"フッター\",\r\n      \"Page Setup\": \"ページ設定\",\r\n      \"Page Number\": \"ページ番号\",\r\n      Break: \"ブレーク\",\r\n      Find: \"見つける\",\r\n      \"Local Clipboard\": \"ローカルクリップボード\",\r\n      \"Restrict Editing\": \"編集を制限する\",\r\n      \"Content Control\": \"コンテンツコントロール\",\r\n      \"Rich Text Content Control\": \"豊富なテキストコンテンツコントロール\",\r\n      \"Plain Text Content Control\": \"プレーンテキストコンテンツコントロール\",\r\n      \"Picture Content Control\": \"画像コンテンツコントロール\",\r\n      \"Combo Box Content Control\": \"コンボボックスコンテンツコントロール\",\r\n      \"Drop-Down List Content Control\":\r\n        \"ドロップダウンリストコンテンツコントロール\",\r\n      \"Date Picker Content Control\": \"日付ピッカーコンテンツコントロール\",\r\n      \"Check Box Content Control\": \"チェックボックスコンテンツコントロール\",\r\n      \"Upload from computer\": \"コンピュータからアップロード\",\r\n      \"By URL\": \"URLで\",\r\n      \"Page Break\": \"改ページ\",\r\n      \"Section Break\": \"セクション区切り\",\r\n      \"Header And Footer\": \"ヘッダーとフッター\",\r\n      Options: \"オプション\",\r\n      Levels: \"レベル\",\r\n      \"Different First Page\": \"別の最初のページ\",\r\n      \"Different header and footer for odd and even pages\":\r\n        \"奇数ページと偶数ページで異なるヘッダーとフッター。\",\r\n      \"Different Odd And Even Pages\": \"異なる奇数ページと偶数ページ\",\r\n      \"Different header and footer for first page\":\r\n        \"最初のページのヘッダーとフッターが異なります。\",\r\n      Position: \"ポジション\",\r\n      \"Header from Top\": \"上からのヘッダー\",\r\n      \"Footer from Bottom\": \"下からのフッター\",\r\n      \"Distance from top of the page to top of the header\":\r\n        \"ページの上部からヘッダーの上部までの距離。\",\r\n      \"Distance from bottom of the page to bottom of the footer\":\r\n        \"ページの下部からフッターの下部までの距離。\",\r\n      \"Aspect ratio\": \"アスペクト比\",\r\n      W: \"W\",\r\n      H: \"H\",\r\n      Width: \"幅\",\r\n      Height: \"高さ\",\r\n      Text: \"テキスト\",\r\n      Paragraph: \"段落\",\r\n      Fill: \"塗りつぶし\",\r\n      \"Fill color\": \"塗りつぶしの色\",\r\n      \"Border Style\": \"ボーダースタイル\",\r\n      \"Outside borders\": \"外枠\",\r\n      \"All borders\": \"すべての国境\",\r\n      \"Inside borders\": \"内枠\",\r\n      \"Left border\": \"左ボーダー\",\r\n      \"Inside vertical border\": \"内側の垂直境界線\",\r\n      \"Right border\": \"右ボーダー\",\r\n      \"Top border\": \"上罫線\",\r\n      \"Inside horizontal border\": \"内側の水平方向の境界線\",\r\n      \"Bottom border\": \"下枠\",\r\n      \"Border color\": \"ボーダの色\",\r\n      \"Border width\": \"ボーダー幅\",\r\n      Cell: \"細胞\",\r\n      \"Merge cells\": \"セルを結合します\",\r\n      \"Insert Or Delete\": \"挿入/削除\",\r\n      \"Insert columns to the left\": \"列を左に挿入\",\r\n      \"Insert columns to the right\": \"列を右に挿入\",\r\n      \"Insert rows above\": \"上に行を挿入\",\r\n      \"Insert rows below\": \"下に行を挿入\",\r\n      \"Delete rows\": \"行を削除する\",\r\n      \"Delete columns\": \"列を削除する\",\r\n      \"Cell Margin\": \"セルマージン\",\r\n      Top: \"上\",\r\n      Bottom: \"底\",\r\n      Left: \"左\",\r\n      Right: \"正しい\",\r\n      \"Align Text\": \"テキストを揃える\",\r\n      \"Align top\": \"上揃え\",\r\n      \"Align bottom\": \"下揃え\",\r\n      \"Align center\": \"中央揃え\",\r\n      \"Number of heading or outline levels to be shown in table of contents\":\r\n        \"目次に表示される見出しまたはアウトラインレベルの数。\",\r\n      \"Show page numbers\": \"ページ番号を表示する\",\r\n      \"Show page numbers in table of contents\":\r\n        \"目次にページ番号を表示します。\",\r\n      \"Right align page numbers\": \"ページ番号を右揃え\",\r\n      \"Right align page numbers in table of contents\":\r\n        \"目次のページ番号を右揃えにします。\",\r\n      \"Use hyperlinks\": \"ハイパーリンクを使用する\",\r\n      \"Use hyperlinks instead of page numbers\":\r\n        \"ページ番号の代わりにハイパーリンクを使用します。\",\r\n      Font: \"フォント\",\r\n      \"Font Size\": \"フォントサイズ\",\r\n      \"Font color\": \"フォントの色\",\r\n      \"Text highlight color\": \"テキストのハイライト色\",\r\n      \"Clear all formatting\": \"すべてのフォーマットをクリア\",\r\n      \"Bold Tooltip\": \"太字（Ctrl + B）\",\r\n      \"Italic Tooltip\": \"斜体（Ctrl + I）\",\r\n      \"Underline Tooltip\": \"下線（Ctrl + U）\",\r\n      Strikethrough: \"取り消し線\",\r\n      \"Superscript Tooltip\": \"上付き文字（Ctrl + Shift ++）\",\r\n      \"Subscript Tooltip\": \"下付き文字（Ctrl + =）\",\r\n      \"Align left Tooltip\": \"左揃え（Ctrl + L）\",\r\n      \"Center Tooltip\": \"中央（Ctrl + E）\",\r\n      \"Align right Tooltip\": \"右揃え（Ctrl + R）\",\r\n      \"Justify Tooltip\": \"両端揃え（Ctrl + J）\",\r\n      \"Decrease indent\": \"インデントを減らす\",\r\n      \"Increase indent\": \"インデントを増やします\",\r\n      \"Line spacing\": \"行間隔\",\r\n      Bullets: \"箇条書き\",\r\n      Numbering: \"番号付け\",\r\n      Styles: \"スタイル\",\r\n      \"Manage Styles\": \"スタイルを管理する\",\r\n      Page: \"ページ\",\r\n      of: \"の\",\r\n      \"Fit one page\": \"1ページに収める\",\r\n      \"Spell Check\": \"スペルチェック\",\r\n      Spelling: \"何でもありません\",\r\n      \"Underline errors\": \"エラーに下線を引く\",\r\n      \"Fit page width\": \"ページ幅に合わせる\",\r\n      Update: \"更新\",\r\n      Cancel: \"キャンセル\",\r\n      Insert: \"インサート\",\r\n      \"No Border\": \"境界が無い\",\r\n      \"Create a new document\": \"新しいドキュメントを作成します。\",\r\n      \"Open a document\": \"文書を開きます。\",\r\n      \"Undo Tooltip\": \"最後の操作を元に戻します（Ctrl + Z）。\",\r\n      \"Redo Tooltip\": \"最後の操作をやり直します（Ctrl + Y）。\",\r\n      \"Insert inline picture from a file\":\r\n        \"ファイルからインライン画像を挿入します。\",\r\n      \"Insert a table into the document\": \"ドキュメントに表を挿入します\",\r\n      \"Create Hyperlink\":\r\n        \"ドキュメントにリンクを作成して、Webページとファイルにすばやくアクセスします（Ctrl + K）。\",\r\n      \"Insert a bookmark in a specific place in this document\":\r\n        \"このドキュメントの特定の場所にブックマークを挿入します。\",\r\n      \"Provide an overview of your document by adding a table of contents\":\r\n        \"目次を追加して、ドキュメントの概要を提供します。\",\r\n      \"Add or edit the header\": \"ヘッダーを追加または編集します。\",\r\n      \"Add or edit the footer\": \"フッターを追加または編集します。\",\r\n      \"Open the page setup dialog\": \"ページ設定ダイアログを開きます。\",\r\n      \"Add page numbers\": \"ページ番号を追加します。\",\r\n      \"Find Text\": \"ドキュメント内のテキストを検索します（Ctrl + F）。\",\r\n      \"Toggle between the internal clipboard and system clipboard\":\r\n        \"内部クリップボードとシステムクリップボードを切り替えます。</br>ブラウザのセキュリティポリシーにより、スクリプトを介したシステムクリップボードへのアクセスは拒否されます。代わりに、</br> 1.内部クリップボードを有効にして、コンポーネント内で切り取り、コピー、貼り付けを行うことができます。</br> 2.キーボードショートカット（Ctrl + X、Ctrl + C、Ctrl + V）を使用して切り取ります。 、システムクリップボードを使用してコピーして貼り付けます。\",\r\n      \"Current Page Number\":\r\n        \"ドキュメント内の現在のページ番号。クリックまたはタップして特定のページに移動します。\",\r\n      \"Read only\": \"読み取り専用\",\r\n      Protections: \"保護\",\r\n      \"Error in establishing connection with web server\":\r\n        \"Webサーバーとの接続を確立する際のエラー\",\r\n      Single: \"シングル\",\r\n      Double: \"ダブル\",\r\n      \"New comment\": \"新しいコメント\",\r\n      Comments: \"コメント\",\r\n      \"Print layout\": \"印刷レイアウト\",\r\n      \"Web layout\": \"Webレイアウト\",\r\n      \"Text Form\": \"テキストフォーム\",\r\n      \"Check Box\": \"チェックボックス\",\r\n      DropDown: \"落ちる\",\r\n      \"Update Fields\": \"フィールドを更新\",\r\n      \"Update cross reference fields\": \"相互参照フィールドを更新する\",\r\n      \"Hide properties pane\": \"プロパティペインを非表示\",\r\n      \"Show properties pane\": \"プロパティペインを表示\",\r\n      \"Form Fields\": \"フォームフィールド\",\r\n      \"Track Changes\": \"ドキュメントに加えられた変更を追跡します\",\r\n      TrackChanges: \"変更の追跡\",\r\n      AllCaps: \"すべて大文字\",\r\n      \"Change case Tooltip\": \"ケースを変更する\",\r\n      \"Insert Footnote\": \"脚注を挿入\",\r\n      \"Insert Endnote\": \"Endnoteを挿入\",\r\n      \"Footnote Tooltip\": \"脚注を挿入します（Alt + Ctrl + F）。\",\r\n      \"Endnote Tooltip\": \"Endnoteを挿入します（Alt + Ctrl + D）。\",\r\n      UPPERCASE: \"大文字\",\r\n      \"No color\": \"色なし\",\r\n      \"Top margin\": \"トップマージン\",\r\n      \"Bottom margin\": \"下マージン\",\r\n      \"Left margin\": \"左マージン\",\r\n      \"Right margin\": \"右マージン\",\r\n      Normal: \"普通\",\r\n      Heading: \"見出し\",\r\n      \"Heading 1\": \"見出し1\",\r\n      \"Heading 2\": \"見出し2\",\r\n      \"Heading 3\": \"見出し3\",\r\n      \"Heading 4\": \"見出し4\",\r\n      \"Heading 5\": \"見出し5\",\r\n      \"Heading 6\": \"見出し6\",\r\n      ZoomLevelTooltip:\r\n        \"ズームレベル。クリックまたはタップして、ズームオプションを開きます。\",\r\n      None: \"なし\",\r\n      Borders: \"ボーダーズ\",\r\n      \"ShowHiddenMarks Tooltip\":\r\n        \"スペース、タブ、段落記号、改行などの隠し文字を表示します。(Ctrl + *)\",\r\n      Columns: \"コラム\",\r\n      \"Column Break\": \"段区切り\",\r\n      \"Link to Previous\": \"前のリンク\",\r\n      \"Link to PreviousTooltip\":\r\n        \"このセクションを前のセクションのヘッダーまたはフッターにリンクします\",\r\n      \"Alternate Text\": \"代替テキスト\",\r\n      \"The address of this site is not valid. Check the address and try again.\":\r\n        \"このサイトのアドレスは無効です。\",\r\n      OK: \"わかりました\",\r\n      Information: \"情報\",\r\n      \"Page Breaks\": \"ページの最後に\",\r\n      \"Section Breaks\": \"この部門は崩壊しました\",\r\n      Column: \"これを共有\",\r\n      \"Next Page\": \"次のページ\",\r\n      Continuous: \"仕事\",\r\n    },\r\n    carousel: {\r\n      nextSlide: \"次のスライド\",\r\n      of: \"の\",\r\n      pauseSlideTransition: \"スライドトランジションを一時停止します\",\r\n      playSlideTransition: \"スライドトランジションを再生する\",\r\n      previousSlide: \"前のスライド\",\r\n      slide: \"滑り台\",\r\n      slideShow: \"スライドショー\",\r\n    },\r\n    message: {\r\n      close: \"近い\",\r\n    },\r\n    \"image-editor\": {\r\n      \"0\": \"0%\",\r\n      \"1\": \"1\",\r\n      \"2\": \"2\",\r\n      \"3\": \"3\",\r\n      \"4\": \"4\",\r\n      \"5\": \"5\",\r\n      \"20\": \"20%\",\r\n      \"40\": \"40%\",\r\n      \"60\": \"60%\",\r\n      \"80\": \"80%\",\r\n      \"100\": \"100%\",\r\n      Crop: \"作物\",\r\n      CropAndTransform: \"切り抜きと変形\",\r\n      ZoomIn: \"ズームイン\",\r\n      ZoomOut: \"ズームアウトする\",\r\n      Undo: \"元に戻す\",\r\n      Redo: \"やり直し\",\r\n      Transform: \"変身\",\r\n      Annotation: \"注釈\",\r\n      Finetune: \"微調整\",\r\n      Brightness: \"輝度\",\r\n      Contrast: \"対比\",\r\n      Hue: \"色相\",\r\n      Saturation: \"飽和\",\r\n      Opacity: \"不透明度\",\r\n      Blur: \"ぼかし\",\r\n      Sharpen: \"研ぐ\",\r\n      Exposure: \"暴露\",\r\n      Filter: \"フィルター\",\r\n      Default: \"デフォルト\",\r\n      Chrome: \"クロム\",\r\n      Cold: \"寒い\",\r\n      Warm: \"暖かい\",\r\n      Grayscale: \"グレースケール\",\r\n      BlackAndWhite: \"黒と白\",\r\n      Sepia: \"セピア\",\r\n      Invert: \"反転\",\r\n      Text: \"テキストを追加\",\r\n      Pen: \"ペン\",\r\n      Reset: \"リセット\",\r\n      Save: \"保存\",\r\n      Select: \"選択する\",\r\n      RotateLeft: \"左に回転\",\r\n      RotateRight: \"右に回る\",\r\n      HorizontalFlip: \"水平反転\",\r\n      VerticalFlip: \"垂直反転\",\r\n      OK: \"わかりました\",\r\n      Cancel: \"キャンセル\",\r\n      DlgOK: \"わかりました\",\r\n      FillColor: \"塗りつぶしの色\",\r\n      StrokeColor: \"ストロークの色\",\r\n      StrokeWidth: \"ストローク幅\",\r\n      FontFamily: \"フォントファミリー\",\r\n      FontStyle: \"フォントスタイル\",\r\n      FontSize: \"フォントサイズ\",\r\n      FontColor: \"フォントの色\",\r\n      Pan: \"パン\",\r\n      Move: \"動く\",\r\n      Load: \"負荷\",\r\n      Custom: \"カスタム\",\r\n      Square: \"四角\",\r\n      Circle: \"丸\",\r\n      Ellipse: \"楕円\",\r\n      Rectangle: \"矩形\",\r\n      Line: \"ライン\",\r\n      Arrow: \"矢印\",\r\n      Path: \"パス\",\r\n      Bold: \"大胆な\",\r\n      Italic: \"イタリック\",\r\n      BoldItalic: \"ボールドイタリック\",\r\n      XSmall: \"X-Small\",\r\n      Small: \"小さい\",\r\n      Medium: \"中くらい\",\r\n      Large: \"大きい\",\r\n      XLarge: \"×ラージ\",\r\n      ABC: \"ABC\",\r\n      Browse: \"ブラウズ\",\r\n      Duplicate: \"重複\",\r\n      Remove: \"取り除く\",\r\n      EditText: \"テキストの編集\",\r\n      Start: \"始める\",\r\n      End: \"終わり\",\r\n      Bar: \"バー\",\r\n      ArrowSolid: \"実線の矢印\",\r\n      CircleSolid: \"円形ソリッド\",\r\n      SquareSolid: \"四角い立体\",\r\n      None: \"なし\",\r\n      CropSelection: \"クロップの選択\",\r\n      Image: \"画像を追加\",\r\n      Transparency: \"透明性\",\r\n      Height: \"身長\",\r\n      Width: \"幅\",\r\n      AspectRatio: \"アスペクト比を維持\",\r\n      W: \"W\",\r\n      H: \"H\",\r\n      DragText: \"ここに画像をドラッグ アンド ドロップするか、\",\r\n      DropText: \"ここに画像をドロップするか、\",\r\n      BrowseText: \"ここを参照...\",\r\n      SupportText: \"サポート:\",\r\n      Frame: \"フレーム\",\r\n      Mat: \"マット\",\r\n      Bevel: \"ベベル\",\r\n      Inset: \"挿入図\",\r\n      Hook: \"針\",\r\n      Color: \"色\",\r\n      Size: \"サイズ\",\r\n      Offset: \"オフセット\",\r\n      Radius: \"半径\",\r\n      Amount: \"額\",\r\n      Resize: \"サイズ変更\",\r\n      Border: \"国境\",\r\n      Solid: \"固体\",\r\n      Dashed: \"破線\",\r\n      Dotted: \"点在\",\r\n      GradientColor: \"グラデーションカラー\",\r\n      ConfirmDialogHeader: \"変更の保存を確認する\",\r\n      ConfirmDialogContent: \"画像に加えた変更を保存しますか?\",\r\n      AlertDialogHeader: \"サポートされていないファイル\",\r\n      AlertDialogContent: \"ドロップされたファイルはサポートされていません。\",\r\n      Yes: \"はい\",\r\n      No: \"いいえ\",\r\n      ImageErrorDialogHeader: \"画像選択エラー\",\r\n      ImageErrorDialogContent: \"開きたい画像を選択するだけです。\",\r\n      Straighten: \"期限を守る\",\r\n      NoOutline: \"輪郭が無い\",\r\n      Clone: \"比喩\",\r\n      Delete: \"破壊する\",\r\n      SaveAs: \"名前を付けて保存\",\r\n      ImageName: \"画像名\",\r\n      Format: \"フォーマット\",\r\n      Quality: \"品質\",\r\n      Download: \"ダウンロード\",\r\n      Close: \"近い\",\r\n      ImageSize: \"画像サイズ\",\r\n      QualityInfo: \"画質オプションはJPEG形式でのみ使用できます\",\r\n      Good: \"良い\",\r\n      Great: \"素晴らしい\",\r\n      Highest: \"最高\",\r\n      BringForward: \"前に持っていく\",\r\n      SendBackward: \"後方に送ります\",\r\n      SendToBack: \"返送してください\",\r\n      BringToFront: \"前に持ってくる\",\r\n      ZOrder: \"zオーダー\",\r\n      Redact: \"編集\",\r\n      Pixelate: \"ピクセル酸塩\",\r\n      BorderRadius: \"境界半径\",\r\n      TextOutlineColor: \"アウトライン色\",\r\n      TextOutlineWidth: \"アウトライン幅\",\r\n    },\r\n    mention: {\r\n      noRecordsTemplate: \"レコードが見つかりません\",\r\n    },\r\n    inplaceeditor: {\r\n      save: \"保存\",\r\n      cancel: \"キャンセル\",\r\n      loadingText: \"読み込み中...\",\r\n      editIcon: \"クリックして編集する\",\r\n      editAreaClick: \"クリックして編集する\",\r\n      editAreaDoubleClick: \"ダブルクリックして編集します\",\r\n    },\r\n    PdfViewer: {\r\n      PdfViewer: \"PDFビューア\",\r\n      Cancel: \"キャンセル\",\r\n      \"Download file\": \"ダウンロードファイル\",\r\n      Download: \"ダウンロード\",\r\n      \"Enter Password\": \"この文書はパスワードで保護されています。\",\r\n      \"File Corrupted\": \"ファイルが壊れた\",\r\n      \"File Corrupted Content\": \"ファイルが壊れているため開けません。\",\r\n      \"Fit Page\": \"ページに合わせる\",\r\n      \"Fit Width\": \"フィット幅\",\r\n      Automatic: \"自動\",\r\n      \"Go To First Page\": \"最初のページを表示\",\r\n      \"Invalid Password\": \"パスワードが間違っています。\",\r\n      \"Next Page\": \"次のページを表示\",\r\n      OK: \"わかりました\",\r\n      Open: \"ファイルを開く\",\r\n      \"Page Number\": \"現在のページ番号\",\r\n      \"Previous Page\": \"前のページを表示\",\r\n      \"Go To Last Page\": \"最後のページを表示\",\r\n      Zoom: \"ズーム\",\r\n      \"Zoom In\": \"ズームイン\",\r\n      \"Zoom Out\": \"ズームアウトする\",\r\n      \"Page Thumbnails\": \"ページのサムネイル\",\r\n      Bookmarks: \"ブックマーク\",\r\n      Print: \"印刷ファイル\",\r\n      \"Organize Pages\": \"ページを整理する\",\r\n      \"Insert Right\": \"右挿入します\",\r\n      \"Insert Left\": \"左に挿入します\",\r\n      Total: \"合計\",\r\n      Pages: \"ページ\",\r\n      \"Rotate Right\": \"右に回る\",\r\n      \"Rotate Left\": \"左に回転\",\r\n      \"Delete Page\": \"ページを削除します\",\r\n      \"Delete Pages\": \"ページを削除します\",\r\n      \"Copy Page\": \"ページをコピーします\",\r\n      \"Copy Pages\": \"ページをコピーします\",\r\n      \"Import Document\": \"インポートドキュメント\",\r\n      Save: \"保存\",\r\n      \"Save As\": \"名前を付けて保存\",\r\n      \"Select All\": \"すべて選択\",\r\n      \"Password Protected\": \"パスワードが必要\",\r\n      Copy: \"コピー\",\r\n      \"Text Selection\": \"テキスト選択ツール\",\r\n      Panning: \"パンモード\",\r\n      \"Text Search\": \"テキストの検索\",\r\n      \"Find in document\": \"文書内で検索\",\r\n      \"Match case\": \"マッチケース\",\r\n      \"Match any word\": \"任意の単語に一致します\",\r\n      Apply: \"適用する\",\r\n      GoToPage: \"ページに移動\",\r\n      \"No Matches\":\r\n        \"PDF Viewer はドキュメントの検索を終了しました。一致するものが見つかりませんでした。\",\r\n      \"No More Matches\":\r\n        \"PDF Viewer はドキュメントの検索を終了しました。これ以上一致するものは見つかりませんでした。\",\r\n      \"Exact Matches\": \"正確な一致\",\r\n      \"Total Matches\": \"合計マッチ\",\r\n      Undo: \"元に戻す\",\r\n      Redo: \"やり直し\",\r\n      Annotation: \"注釈の追加または編集\",\r\n      FormDesigner: \"フォームフィールドを追加および編集します\",\r\n      Highlight: \"テキストを強調表示する\",\r\n      Underline: \"テキストに下線を引く\",\r\n      Strikethrough: \"取り消し線のテキスト\",\r\n      Delete: \"注釈の削除\",\r\n      Opacity: \"不透明度\",\r\n      \"Color edit\": \"色を変える\",\r\n      \"Opacity edit\": \"不透明度の変更\",\r\n      \"Highlight context\": \"ハイライト\",\r\n      \"Underline context\": \"下線\",\r\n      \"Strikethrough context\": \"取り消し線\",\r\n      \"Server error\": \"Web サービスがリッスンしていません。 \",\r\n      \"Client error\":\r\n        \"クライアント側のエラーが見つかりました。 AjaxRequestSettingsプロパティとServerActionSettingsプロパティのWebアクションメソッドで提供されるカスタムヘッダーを確認してください。\",\r\n      \"Open text\": \"開ける\",\r\n      \"First text\": \"一ページ目\",\r\n      \"Previous text\": \"前のページ\",\r\n      \"Next text\": \"次のページ\",\r\n      \"Last text\": \"最後のページ\",\r\n      \"Zoom in text\": \"ズームイン\",\r\n      \"Zoom out text\": \"ズームアウトする\",\r\n      \"Selection text\": \"選択\",\r\n      \"Pan text\": \"パン\",\r\n      \"Print text\": \"印刷する\",\r\n      \"Search text\": \"検索\",\r\n      \"Annotation Edit text\": \"注釈の編集\",\r\n      \"FormDesigner Edit text\": \"フォームフィールドを追加および編集します\",\r\n      \"Line Thickness\": \"線の太さ\",\r\n      \"Line Properties\": \"線のプロパティ\",\r\n      \"Start Arrow\": \"スタートアロー\",\r\n      \"End Arrow\": \"エンドアロー\",\r\n      \"Line Style\": \"線のスタイル\",\r\n      \"Fill Color\": \"塗りつぶしの色\",\r\n      \"Line Color\": \"線の色\",\r\n      None: \"なし\",\r\n      \"Open Arrow\": \"開ける\",\r\n      \"Closed Arrow\": \"閉まっている\",\r\n      \"Round Arrow\": \"ラウンド\",\r\n      \"Square Arrow\": \"四角\",\r\n      \"Diamond Arrow\": \"ダイヤモンド\",\r\n      Butt: \"お尻\",\r\n      Cut: \"カット\",\r\n      Paste: \"ペースト\",\r\n      \"Delete Context\": \"消去\",\r\n      Properties: \"プロパティ\",\r\n      \"Add Stamp\": \"スタンプを追加する\",\r\n      \"Add Shapes\": \"図形の追加\",\r\n      \"Stroke edit\": \"ストロークの色の変更\",\r\n      \"Change thickness\": \"境界線の太さを変更する\",\r\n      \"Add line\": \"行を追加\",\r\n      \"Add arrow\": \"矢印を追加\",\r\n      \"Add rectangle\": \"長方形の追加\",\r\n      \"Add circle\": \"サークルを追加\",\r\n      \"Add polygon\": \"ポリゴンの追加\",\r\n      \"Add Comments\": \"コメントの追加\",\r\n      Comments: \"コメント\",\r\n      SubmitForm: \"フォームを送信\",\r\n      \"No Comments Yet\": \"コメントはまだありません\",\r\n      Accepted: \"承認されました\",\r\n      Completed: \"完了しました\",\r\n      Cancelled: \"キャンセル\",\r\n      Rejected: \"拒否されました\",\r\n      \"Leader Length\": \"リーダーの長さ\",\r\n      \"Scale Ratio\": \"スケール比\",\r\n      Calibrate: \"校正する\",\r\n      \"Calibrate Distance\": \"距離の校正\",\r\n      \"Calibrate Perimeter\": \"周囲を校正する\",\r\n      \"Calibrate Area\": \"エリアの校正\",\r\n      \"Calibrate Radius\": \"半径の校正\",\r\n      \"Calibrate Volume\": \"音量の調整\",\r\n      Depth: \"深さ\",\r\n      Closed: \"閉まっている\",\r\n      Round: \"ラウンド\",\r\n      Square: \"四角\",\r\n      Diamond: \"ダイヤモンド\",\r\n      Edit: \"編集\",\r\n      Comment: \"コメント\",\r\n      \"Comment Panel\": \"コメントパネル\",\r\n      \"Set Status\": \"ステータスの設定\",\r\n      Post: \"役職\",\r\n      Page: \"ページ\",\r\n      \"Add a comment\": \"コメントを追加する\",\r\n      \"Add a reply\": \"返信を追加\",\r\n      \"Import Annotations\": \"JSONファイルからアノテーションをインポートします\",\r\n      \"Export Annotations\": \"JSONファイルに注釈をエクスポートします\",\r\n      \"Export XFDF\": \"XFDFファイルに注釈をエクスポートします\",\r\n      \"Import XFDF\": \"XFDFファイルから注釈をインポートします\",\r\n      Add: \"追加\",\r\n      Clear: \"クリア\",\r\n      Bold: \"大胆な\",\r\n      Italic: \"イタリック\",\r\n      Strikethroughs: \"取り消し線\",\r\n      Underlines: \"下線\",\r\n      Superscript: \"上付き文字\",\r\n      Subscript: \"添字\",\r\n      \"Align left\": \"左揃え\",\r\n      \"Align right\": \"右揃え\",\r\n      Center: \"中心\",\r\n      Justify: \"正当化する\",\r\n      \"Font color\": \"フォントの色\",\r\n      \"Text Align\": \"テキストアライメント\",\r\n      \"Text Properties\": \"フォントスタイル\",\r\n      SignatureFieldDialogHeaderText: \"署名を追加します\",\r\n      HandwrittenSignatureDialogHeaderText: \"署名を追加します\",\r\n      InitialFieldDialogHeaderText: \"初期を追加します\",\r\n      HandwrittenInitialDialogHeaderText: \"初期を追加します\",\r\n      \"Draw Ink\": \"インクを描きます\",\r\n      Create: \"作成する\",\r\n      \"Font family\": \"フォントファミリー\",\r\n      \"Font size\": \"フォントサイズ\",\r\n      \"Free Text\": \"フリーテキスト\",\r\n      \"Import Failed\":\r\n        \"無効なJSONファイルタイプまたはファイル名。有効なJSONファイルを選択してください\",\r\n      \"Import PDF Failed\":\r\n        \"無効なPDFファイルタイプまたはPDFファイルが見つかりません。有効なPDFファイルを選択してください\",\r\n      \"File not found\":\r\n        \"インポートされたJSONファイルは目的の場所にはありません\",\r\n      \"Export Failed\":\r\n        \"アノテーションアクションのエクスポートは失敗しました。注釈が適切に追加されていることを確認してください\",\r\n      of: \"の\",\r\n      Dynamic: \"動的\",\r\n      \"Standard Business\": \"標準的なビジネス\",\r\n      \"Sign Here\": \"ここにサインしてください\",\r\n      \"Custom Stamp\": \"カスタムスタンプ\",\r\n      \"Enter Signature as Name\": \"あなたの名前を入力してください\",\r\n      \"Draw-hand Signature\": \"描く\",\r\n      \"Type Signature\": \"タイプ\",\r\n      \"Upload Signature\": \"アップロード\",\r\n      \"Browse Signature Image\": \"ブラウズ\",\r\n      \"Save Signature\": \"署名を保存します\",\r\n      \"Save Initial\": \"初期を保存します\",\r\n      Textbox: \"テキストボックス\",\r\n      Password: \"パスワード\",\r\n      \"Check Box\": \"チェックボックス\",\r\n      \"Radio Button\": \"ラジオボタン\",\r\n      Dropdown: \"落ちる\",\r\n      \"List Box\": \"リストボックス\",\r\n      Signature: \"サイン\",\r\n      \"Delete FormField\": \"フォームフィールドを削除します\",\r\n      \"Textbox Properties\": \"テキストボックスのプロパティ\",\r\n      Name: \"名前\",\r\n      Tooltip: \"ツールチップ\",\r\n      Value: \"価値\",\r\n      \"Form Field Visibility\": \"フィールドの可視性を形成します\",\r\n      \"Read Only\": \"読み取り専用\",\r\n      Required: \"必須\",\r\n      Checked: \"チェック済み\",\r\n      \"Show Printing\": \"印刷を表示します\",\r\n      Formatting: \"フォーマット\",\r\n      Fill: \"埋める\",\r\n      Border: \"国境\",\r\n      \"Border Color\": \"ボーダの色\",\r\n      Thickness: \"厚さ\",\r\n      \"Max Length\": \"最大長さ\",\r\n      \"List Item\": \"項目名\",\r\n      \"Export Value\": \"アイテム値\",\r\n      \"Dropdown Item List\": \"ドロップダウンアイテムリスト\",\r\n      \"List Box Item List\": \"ボックスアイテムリストをリストします\",\r\n      General: \"一般的な\",\r\n      Appearance: \"外観\",\r\n      Options: \"オプション\",\r\n      \"Delete Item\": \"消去\",\r\n      Up: \"上\",\r\n      Down: \"下\",\r\n      Multiline: \"マルチライン\",\r\n      Revised: \"改訂\",\r\n      Reviewed: \"審査\",\r\n      Received: \"受け取った\",\r\n      Confidential: \"機密\",\r\n      Approved: \"承認された\",\r\n      \"Not Approved\": \"未承認\",\r\n      Witness: \"目撃者\",\r\n      \"Initial Here\": \"ここで初めて\",\r\n      Draft: \"下書き\",\r\n      Final: \"最後の\",\r\n      \"For Public Release\": \"公開のため\",\r\n      \"Not For Public Release\": \"公開のためではありません\",\r\n      \"For Comment\": \"コメントのために\",\r\n      Void: \"空所\",\r\n      \"Preliminary Results\": \"予備的な結果\",\r\n      \"Information Only\": \"情報のみ\",\r\n      in: \"で\",\r\n      m: \"メートル\",\r\n      ft_in: \"ft_in\",\r\n      ft: \"フィート\",\r\n      p: \"p\",\r\n      cm: \"cm\",\r\n      mm: \"んん\",\r\n      pt: \"ポイント\",\r\n      cu: \"キュ\",\r\n      sq: \"平方\",\r\n      Initial: \"イニシャル\",\r\n      \"No Search Matches\": \"一致するものが見つかりませんでした\",\r\n      \"No More Search Matches\": \"これ以上一致するものは見つかりませんでした\",\r\n      \"No matches\": \"閲覧者はドキュメントの検索を終了しました。\",\r\n      \"No Text Found\": \"テキストが見つかりません\",\r\n    },\r\n    stepper: {\r\n      optional: \"オプション\",\r\n    },\r\n  },\r\n};\r\n","export const koLocalization = {\r\n  ko: {\r\n    grid: {\r\n      EmptyRecord: \"표시 할 레코드가 없습니다\",\r\n      True: \"진실\",\r\n      False: \"그릇된\",\r\n      InvalidFilterMessage: \"잘못된 필터 데이터\",\r\n      GroupDropArea: \"열 머리글을 여기로 끌어 열을 그룹화하십시오\",\r\n      UnGroup: \"그룹을 해제하려면 여기를 클릭하십시오\",\r\n      GroupDisable: \"이 열에 대해 그룹화가 비활성화되었습니다\",\r\n      FilterbarTitle: '\"s 필터 막대 셀',\r\n      EmptyDataSourceError:\r\n        \"자동 생성 열 그리드의 dataSource에서 열이 생성되므로 초기로드시 DataSource를 비워 둘 수 없습니다.\",\r\n      Add: \"더하다\",\r\n      Edit: \"편집하다\",\r\n      Cancel: \"취소\",\r\n      Update: \"최신 정보\",\r\n      Delete: \"지우다\",\r\n      Print: \"인쇄\",\r\n      Pdfexport: \"PDF 내보내기\",\r\n      Excelexport: \"엑셀 내보내기\",\r\n      Wordexport: \"단어 내보내기\",\r\n      Csvexport: \"CSV 내보내기\",\r\n      Search: \"검색\",\r\n      Columnchooser: \"열\",\r\n      Save: \"저장\",\r\n      Item: \"안건\",\r\n      Items: \"아이템\",\r\n      EditOperationAlert: \"편집 조작을 위해 선택된 레코드가 없습니다\",\r\n      DeleteOperationAlert: \"삭제 조작을 위해 선택된 레코드가 없습니다.\",\r\n      SaveButton: \"저장\",\r\n      OKButton: \"확인\",\r\n      CancelButton: \"취소\",\r\n      EditFormTitle: \"세부 사항\",\r\n      AddFormTitle: \"새 레코드 추가\",\r\n      BatchSaveConfirm: \"변경 사항을 저장 하시겠습니까?\",\r\n      BatchSaveLostChanges:\r\n        \"저장하지 않은 변경 사항은 손실됩니다. 정말로 계속하기를 원하십니까?\",\r\n      ConfirmDelete: \"레코드를 삭제 하시겠습니까?\",\r\n      CancelEdit: \"변경 사항을 취소 하시겠습니까?\",\r\n      ChooseColumns: \"열을 선택하십시오\",\r\n      SearchColumns: \"검색 열\",\r\n      Matchs: \"검색 결과가 없습니다\",\r\n      FilterButton: \"필터\",\r\n      ClearButton: \"명확한\",\r\n      StartsWith: \"로 시작\",\r\n      EndsWith: \"로 끝나다\",\r\n      Contains: \"포함\",\r\n      Equal: \"같은\",\r\n      NotEqual: \"같지 않음\",\r\n      LessThan: \"보다 작음\",\r\n      LessThanOrEqual: \"작거나 같음\",\r\n      GreaterThan: \"보다 큰\",\r\n      GreaterThanOrEqual: \"크거나 같음\",\r\n      ChooseDate: \"날짜를 선택하십시오\",\r\n      EnterValue: \"값을 입력하십시오\",\r\n      Copy: \"부\",\r\n      Group: \"이 열을 기준으로 그룹화\",\r\n      Ungroup: \"이 항목을 기준으로 그룹 해제\",\r\n      autoFitAll: \"모든 열 자동 맞춤\",\r\n      autoFit: \"이 열 자동 맞춤\",\r\n      Export: \"수출\",\r\n      FirstPage: \"첫 페이지\",\r\n      LastPage: \"마지막 페이지\",\r\n      PreviousPage: \"이전 페이지\",\r\n      NextPage: \"다음 페이지\",\r\n      SortAscending: \"오름차순 정렬\",\r\n      SortDescending: \"내림차순 정렬\",\r\n      EditRecord: \"레코드 편집\",\r\n      DeleteRecord: \"레코드 삭제\",\r\n      FilterMenu: \"필터\",\r\n      SelectAll: \"모두 선택\",\r\n      Blanks: \"공백\",\r\n      FilterTrue: \"진실\",\r\n      FilterFalse: \"그릇된\",\r\n      NoResult: \"검색 결과가 없습니다\",\r\n      ClearFilter: \"필터 지우기\",\r\n      NumberFilter: \"숫자 필터\",\r\n      TextFilter: \"텍스트 필터\",\r\n      DateFilter: \"날짜 필터\",\r\n      DateTimeFilter: \"날짜 / 시간 필터\",\r\n      MatchCase: \"경기 사례\",\r\n      Between: \"중에서\",\r\n      CustomFilter: \"맞춤 필터\",\r\n      CustomFilterPlaceHolder: \"값을 입력하십시오\",\r\n      CustomFilterDatePlaceHolder: \"날짜를 선택하십시오\",\r\n      AND: \"과\",\r\n      OR: \"또는\",\r\n      ShowRowsWhere: \"다음 위치에 행을 표시하십시오.\",\r\n      NotStartsWith: \"~로 시작하지 않는다\",\r\n      Like: \"좋다\",\r\n      NotEndsWith: \"로 끝나지 않는다\",\r\n      NotContains: \"포함되어 있지 않다\",\r\n      IsNull: \"없는\",\r\n      NotNull: \"null이 아님\",\r\n      IsEmpty: \"비어 있는\",\r\n      IsNotEmpty: \"비어있지 않다\",\r\n      AddCurrentSelection: \"필터에 현재 선택 항목 추가\",\r\n      UnGroupButton: \"그룹을 해제하려면 여기를 클릭하세요.\",\r\n      AutoFitAll: \"모든 열 자동 맞춤\",\r\n      AutoFit: \"이 열 자동 맞춤\",\r\n      Clear: \"맑은\",\r\n      FilterMenuDialogARIA: \"필터 메뉴 대화 상자\",\r\n      ExcelFilterDialogARIA: \"Excel 필터 대화 상자\",\r\n      DialogEditARIA: \"편집 대화 상자\",\r\n      ColumnChooserDialogARIA: \"열 선택기\",\r\n      ColumnMenuDialogARIA: \"열 메뉴 대화 상자\",\r\n      CustomFilterDialogARIA: \"사용자 정의 필터 대화 상자\",\r\n      SortAtoZ: \"A부터 Z까지 정렬\",\r\n      SortZtoA: \"Z에서 A로 정렬\",\r\n      SortByOldest: \"오래된 순으로 정렬\",\r\n      SortByNewest: \"최신순으로 정렬\",\r\n      SortSmallestToLargest: \"작은 것부터 큰 것 순으로 정렬\",\r\n      SortLargestToSmallest: \"큰 것부터 작은 것 순으로 정렬\",\r\n      Sort: \"활자 한 벌\",\r\n      FilterDescription: \"Alt Down을 눌러 필터 메뉴 열기\",\r\n      SortDescription: \"Enter 키를 눌러 정렬\",\r\n      ColumnMenuDescription: \"Alt Down 키를 눌러 열 메뉴 열기\",\r\n      GroupDescription: \"Ctrl 스페이스를 눌러 그룹화\",\r\n      ColumnHeader: \" 열 머리글 \",\r\n      TemplateCell: \" 템플릿 셀입니다\",\r\n      CommandColumnAria: \"명령 열 열 머리글입니다. \",\r\n      DialogEdit: \"대화 편집\",\r\n      ClipBoard: \"클립보드\",\r\n      GroupButton: \"그룹 버튼\",\r\n      UnGroupAria: \"그룹 해제 버튼\",\r\n      GroupSeperator: \"그룹화된 열의 구분 기호\",\r\n      UnGroupIcon: \"그룹화된 열 그룹 해제 \",\r\n      GroupedSortIcon: \"그룹화된 열 정렬 \",\r\n      GroupedDrag: \"그룹화된 열 드래그\",\r\n      GroupCaption: \" 그룹 캡션 셀입니다\",\r\n      CheckBoxLabel: \"체크박스\",\r\n      Expanded: \"퍼지는\",\r\n      Collapsed: \"축소됨\",\r\n      SelectAllCheckbox: \"모든 체크박스 선택\",\r\n      SelectRow: \"행 선택\",\r\n      AscendingText: \"오름차순\",\r\n      DescendingText: \"내림차순\",\r\n      NoneText: \"なし\",\r\n    },\r\n    pager: {\r\n      currentPageInfo: \"{1} 페이지 중 {0}\",\r\n      totalItemsInfo: \"({0} 항목)\",\r\n      firstPageTooltip: \"첫 페이지로 이동\",\r\n      lastPageTooltip: \"마지막 페이지로 이동\",\r\n      nextPageTooltip: \"다음 페이지로 이동\",\r\n      previousPageTooltip: \"이전 페이지로 이동\",\r\n      nextPagerTooltip: \"다음 호출기 항목으로 이동\",\r\n      previousPagerTooltip: \"이전 호출기 항목으로 이동\",\r\n      pagerDropDown: \"페이지 당 항목\",\r\n      pagerAllDropDown: \"아이템\",\r\n      All: \"모두\",\r\n      totalItemInfo: \"({0} 항목)\",\r\n      Container: \"호출기 컨테이너\",\r\n      Information: \"호출기 정보\",\r\n      ExternalMsg: \"호출기 외부 메시지\",\r\n      Page: \"페이지 \",\r\n      Of: \" 의 \",\r\n      Pages: \" 페이지\",\r\n    },\r\n    kanban: {\r\n      items: \"아이템\",\r\n      min: \"최소\",\r\n      max: \"맥스\",\r\n      cardsSelected: \"선택된 카드\",\r\n      addTitle: \"새 카드 추가\",\r\n      editTitle: \"카드 정보 편집\",\r\n      deleteTitle: \"카드 삭제\",\r\n      deleteContent: \"이 카드를 삭제 하시겠습니까?\",\r\n      save: \"저장\",\r\n      delete: \"지우다\",\r\n      cancel: \"취소\",\r\n      yes: \"예\",\r\n      no: \"아니\",\r\n      close: \"닫기\",\r\n      noCard: \"표시 할 카드가 없습니다.\",\r\n      unassigned: \"할당되지 않음\",\r\n      cards: \"장바구니\",\r\n    },\r\n    dropdowns: {\r\n      noRecordsTemplate: \"기록 없음\",\r\n      actionFailureTemplate: \"요청 실패\",\r\n      overflowCountTemplate: \"+${count} 개 더 ..\",\r\n      selectAllText: \"모두 선택\",\r\n      unSelectAllText: \"모두 선택 해제\",\r\n      totalCountTemplate: \"선택된 ${count}\",\r\n    },\r\n    \"drop-down-list\": {\r\n      noRecordsTemplate: \"기록 없음\",\r\n      actionFailureTemplate: \"요청 실패\",\r\n    },\r\n    \"combo-box\": {\r\n      noRecordsTemplate: \"기록 없음\",\r\n      actionFailureTemplate: \"요청 실패\",\r\n    },\r\n    \"auto-complete\": {\r\n      noRecordsTemplate: \"기록 없음\",\r\n      actionFailureTemplate: \"요청 실패\",\r\n    },\r\n    \"multi-select\": {\r\n      noRecordsTemplate: \"기록 없음\",\r\n      actionFailureTemplate: \"요청 실패\",\r\n      overflowCountTemplate: \"+${count} 개 더 ..\",\r\n      selectAllText: \"모두 선택\",\r\n      unSelectAllText: \"모두 선택 해제\",\r\n      totalCountTemplate: \"선택된 ${count}\",\r\n    },\r\n    listbox: {\r\n      noRecordsTemplate: \"기록 없음\",\r\n      actionFailureTemplate: \"요청 실패\",\r\n      selectAllText: \"모두 선택\",\r\n      unSelectAllText: \"모두 선택 해제\",\r\n      moveUp: \"이동\",\r\n      moveDown: \"아래로 이동\",\r\n      moveTo: \"이동\",\r\n      moveFrom: \"에서왔다\",\r\n      moveAllTo: \"모두로 이동\",\r\n      moveAllFrom: \"모두에서 이동\",\r\n    },\r\n    spreadsheet: {\r\n      InsertingEmptyValue: \"참조 값이 유효하지 않습니다.\",\r\n      FindValue: \"가치 찾기\",\r\n      ReplaceValue: \"값 바꾸기\",\r\n      FindReplaceTooltip: \"찾기 및 바꾸기\",\r\n      ByRow: \"행별\",\r\n      ByColumn: \"열별\",\r\n      MatchExactCellElements: \"전체 셀 내용 일치\",\r\n      EnterCellAddress: \"셀 주소 입력\",\r\n      FindAndReplace: \"찾기 및 바꾸기\",\r\n      ReplaceAllEnd: \" 다음으로 교체된 경기\",\r\n      FindNextBtn: \"다음 찾기\",\r\n      FindPreviousBtn: \"이전 찾기\",\r\n      ReplaceBtn: \"바꾸다\",\r\n      ReplaceAllBtn: \"전부 교체\",\r\n      GotoHeader: \"이동\",\r\n      Sheet: \"시트\",\r\n      SearchWithin: \"내에서 검색\",\r\n      SearchBy: \"검색\",\r\n      Reference: \"참조\",\r\n      Workbook: \"학습장\",\r\n      NoElements: \"찾고 계신 것을 찾을 수 없습니다.\",\r\n      FindWhat: \"무엇을 찾다\",\r\n      ReplaceWith: \"교체\",\r\n      FileName: \"파일 이름\",\r\n      ExtendValidation:\r\n        \"선택 항목에 데이터 유효성 검사가 없는 일부 셀이 포함되어 있습니다. 이러한 셀에 대한 유효성 검사를 확장하시겠습니까?\",\r\n      Yes: \"예\",\r\n      No: \"아니요\",\r\n      PROPER:\r\n        \"텍스트를 적절한 대소문자로 변환합니다. 첫 글자는 대문자로 다른 글자는 소문자로.\",\r\n      Cut: \"자르다\",\r\n      Copy: \"복사\",\r\n      Paste: \"반죽\",\r\n      PasteSpecial: \"선택하여 붙여넣기\",\r\n      All: \"모두\",\r\n      Values: \"가치\",\r\n      Formats: \"형식\",\r\n      Font: \"폰트\",\r\n      FontSize: \"글꼴 크기\",\r\n      Bold: \"용감한\",\r\n      Italic: \"이탤릭체\",\r\n      Underline: \"밑줄\",\r\n      Strikethrough: \"취소선\",\r\n      TextColor: \"텍스트 색상\",\r\n      FillColor: \"채우기 색상\",\r\n      HorizontalAlignment: \"수평 정렬\",\r\n      AlignLeft: \"왼쪽 정렬\",\r\n      AlignCenter: \"센터\",\r\n      AlignRight: \"오른쪽 정렬\",\r\n      VerticalAlignment: \"수직 정렬\",\r\n      AlignTop: \"상단 정렬\",\r\n      AlignMiddle: \"중간 정렬\",\r\n      AlignBottom: \"하단 정렬\",\r\n      MergeCells: \"셀 병합\",\r\n      MergeAll: \"모두 병합\",\r\n      MergeHorizontally: \"수평으로 병합\",\r\n      MergeVertically: \"수직으로 병합\",\r\n      Unmerge: \"병합 해제\",\r\n      UnmergeCells: \"셀 병합 해제\",\r\n      SelectMergeType: \"병합 유형 선택\",\r\n      MergeCellsAlert:\r\n        \"셀을 병합하면 맨 왼쪽 위(최상위) 값만 유지됩니다. 병합하시겠습니까?\",\r\n      PasteMergeAlert: \"병합 셀에는 그렇게 할 수 없습니다.\",\r\n      Borders: \"테두리\",\r\n      TopBorders: \"위쪽 테두리\",\r\n      LeftBorders: \"왼쪽 테두리\",\r\n      RightBorders: \"오른쪽 테두리\",\r\n      BottomBorders: \"아래쪽 테두리\",\r\n      AllBorders: \"모든 테두리\",\r\n      HorizontalBorders: \"가로 테두리\",\r\n      VerticalBorders: \"세로 테두리\",\r\n      OutsideBorders: \"외부 국경\",\r\n      InsideBorders: \"내부 테두리\",\r\n      NoBorders: \"국경 없음\",\r\n      BorderColor: \"테두리 색상\",\r\n      BorderStyle: \"테두리 스타일\",\r\n      InsertFunction: \"함수 삽입\",\r\n      Insert: \"끼워 넣다\",\r\n      Delete: \"삭제\",\r\n      DuplicateSheet: \"복제하다\",\r\n      MoveRight: \"오른쪽으로 이동해라\",\r\n      MoveLeft: \"왼쪽으로 이동\",\r\n      Rename: \"이름 바꾸기\",\r\n      Hide: \"숨다\",\r\n      NameBox: \"이름 상자\",\r\n      ShowHeaders: \"헤더 표시\",\r\n      HideHeaders: \"헤더 숨기기\",\r\n      ShowGridLines: \"눈금선 표시\",\r\n      HideGridLines: \"눈금선 숨기기\",\r\n      FreezePanes: \"틀 고정\",\r\n      FreezeRows: \"행 고정\",\r\n      FreezeColumns: \"열 고정\",\r\n      UnfreezePanes: \"창 고정 해제\",\r\n      UnfreezeRows: \"행 고정 해제\",\r\n      UnfreezeColumns: \"열 고정 해제\",\r\n      AddSheet: \"시트 추가\",\r\n      ListAllSheets: \"모든 시트 나열\",\r\n      CollapseToolbar: \"도구 모음 접기\",\r\n      ExpandToolbar: \"도구 모음 확장\",\r\n      CollapseFormulaBar: \"수식 입력줄 접기\",\r\n      ExpandFormulaBar: \"수식 입력줄 확장\",\r\n      File: \"파일\",\r\n      Home: \"집\",\r\n      Formulas: \"방식\",\r\n      View: \"보다\",\r\n      New: \"새로운\",\r\n      Open: \"열려 있는\",\r\n      SaveAs: \"다른 이름으로 저장\",\r\n      ExcelXlsx: \"마이크로 소프트 엑셀\",\r\n      ExcelXls: \"마이크로소프트 엑셀 97-2003\",\r\n      CSV: \"쉼표로 구분된 값\",\r\n      FormulaBar: \"수식 바\",\r\n      Sort: \"종류\",\r\n      SortAscending: \"오름차순\",\r\n      SortDescending: \"내림차순\",\r\n      CustomSort: \"맞춤 정렬\",\r\n      AddColumn: \"열 추가\",\r\n      ContainsHeader: \"데이터에 헤더 포함\",\r\n      CaseSensitive: \"대소문자 구분\",\r\n      SortBy: \"정렬 기준\",\r\n      ThenBy: \"그럼\",\r\n      SelectAColumn: \"열 선택\",\r\n      SortEmptyFieldError:\r\n        \"모든 정렬 기준에는 지정된 열이 있어야 합니다. 선택한 정렬 기준을 확인하고 다시 시도하십시오.\",\r\n      SortDuplicateFieldError:\r\n        \" 값별로 두 번 이상 정렬됩니다. 중복 정렬 기준을 삭제하고 다시 시도하십시오.\",\r\n      SortOutOfRangeError:\r\n        \"사용된 범위 내의 셀 또는 범위를 선택하고 다시 시도하십시오.\",\r\n      MultiRangeSortError:\r\n        \"다중 범위 선택에서는 이 작업을 수행할 수 없습니다. 단일 범위를 선택하고 다시 시도하십시오.\",\r\n      HideRow: \"행 숨기기\",\r\n      HideRows: \"행 숨기기\",\r\n      UnhideRows: \"행 숨기기 해제\",\r\n      HideColumn: \"열 숨기기\",\r\n      HideColumns: \"열 숨기기\",\r\n      UnhideColumns: \"열 숨기기 해제\",\r\n      InsertRow: \"행 삽입\",\r\n      InsertRows: \"행 삽입\",\r\n      Above: \"위에\",\r\n      Below: \"아래에\",\r\n      InsertColumn: \"열 삽입\",\r\n      InsertColumns: \"열 삽입\",\r\n      Before: \"전에\",\r\n      After: \"후에\",\r\n      DeleteRow: \"행 삭제\",\r\n      DeleteRows: \"행 삭제\",\r\n      DeleteColumn: \"열 삭제\",\r\n      DeleteColumns: \"열 삭제\",\r\n      Ok: \"확인\",\r\n      Close: \"닫다\",\r\n      MoreOptions: \"추가 옵션\",\r\n      Cancel: \"취소\",\r\n      Apply: \"적용하다\",\r\n      MoreColors: \"더 많은 색상\",\r\n      StandardColors: \"표준 색상\",\r\n      General: \"일반적인\",\r\n      Number: \"숫자\",\r\n      Currency: \"통화\",\r\n      Accounting: \"회계\",\r\n      ShortDate: \"짧은 데이트\",\r\n      LongDate: \"긴 날짜\",\r\n      Time: \"시간\",\r\n      Percentage: \"백분율\",\r\n      Fraction: \"분수\",\r\n      Scientific: \"과학적\",\r\n      Text: \"텍스트\",\r\n      NumberFormat: \"숫자 형식\",\r\n      MobileFormulaBarPlaceHolder: \"값 또는 수식 입력\",\r\n      PasteAlert:\r\n        \"복사 영역과 붙여넣기 영역이 같은 크기가 아니기 때문에 여기에 붙여넣을 수 없습니다. 다른 범위에서 붙여넣기를 시도하십시오.\",\r\n      DestroyAlert:\r\n        \"저장하지 않고 현재 통합 문서를 삭제하고 새 통합 문서를 만드시겠습니까?\",\r\n      SheetRenameInvalidAlert: \"시트 이름에 잘못된 문자가 포함되어 있습니다.\",\r\n      SheetRenameEmptyAlert: \"시트 이름은 비워 둘 수 없습니다.\",\r\n      SheetRenameAlreadyExistsAlert:\r\n        \"시트 이름이 이미 존재합니다. 다른 이름을 입력하세요.\",\r\n      DeleteSheetAlert: \"이 시트를 삭제하시겠습니까?\",\r\n      DeleteSingleLastSheetAlert:\r\n        \"통합 문서에는 보이는 워크시트가 하나 이상 있어야 합니다.\",\r\n      PickACategory: \"카테고리 선택\",\r\n      Description: \"설명\",\r\n      UnsupportedFile: \"지원되지 않는 파일\",\r\n      DataLimitExceeded:\r\n        \"파일 데이터가 너무 커서 처리하는 데 시간이 더 걸립니다. 계속하시겠습니까?\",\r\n      FileSizeLimitExceeded:\r\n        \"파일 크기가 너무 커서 처리하는 데 시간이 더 걸립니다. 계속하시겠습니까?\",\r\n      InvalidUrl: \"잘못된 URL\",\r\n      SUM: \"일련의 숫자 및/또는 셀을 추가합니다.\",\r\n      SUMIF: \"지정된 조건에 따라 셀을 추가합니다.\",\r\n      SUMIFS: \"지정된 조건에 따라 셀을 추가합니다.\",\r\n      ABS: \"부호가 없는 숫자 값을 반환합니다.\",\r\n      RAND: \"0과 1 사이의 난수를 반환합니다.\",\r\n      RANDBETWEEN: \"지정된 값을 기반으로 임의의 정수를 반환합니다.\",\r\n      FLOOR: \"주어진 요소의 가장 가까운 배수로 숫자를 내림합니다.\",\r\n      CEILING: \"주어진 요소의 가장 가까운 배수로 숫자를 반올림합니다.\",\r\n      PRODUCT: \"일련의 숫자 및/또는 셀을 곱합니다.\",\r\n      AVERAGE: \"일련의 숫자 및/또는 텍스트를 제외한 셀의 평균을 계산합니다.\",\r\n      AVERAGEIF: \"지정된 기준에 따라 셀의 평균을 계산합니다.\",\r\n      AVERAGEIFS: \"지정된 조건에 따라 셀의 평균을 계산합니다.\",\r\n      AVERAGEA:\r\n        \"TRUE를 1, 텍스트 및 FALSE를 0으로 평가하는 셀의 평균을 계산합니다.\",\r\n      COUNT: \"범위의 숫자 값이 포함된 셀의 수를 계산합니다.\",\r\n      COUNTIF: \"지정된 조건에 따라 셀 수를 계산합니다.\",\r\n      COUNTIFS: \"지정된 조건에 따라 셀 수를 계산합니다.\",\r\n      COUNTA: \"범위의 값을 포함하는 셀의 수를 계산합니다.\",\r\n      MIN: \"주어진 인수 중 가장 작은 수를 반환합니다.\",\r\n      MAX: \"주어진 인수 중 가장 큰 수를 반환합니다.\",\r\n      DATE: \"주어진 연도, 월, 일을 기준으로 날짜를 반환합니다.\",\r\n      DAY: \"주어진 날짜로부터 일자를 반환합니다.\",\r\n      DAYS: \"두 날짜 사이의 일 수를 반환합니다.\",\r\n      IF: \"주어진 식에 따라 값을 반환합니다.\",\r\n      IFS: \"주어진 여러 표현식을 기반으로 값을 반환합니다.\",\r\n      CalculateAND:\r\n        \"모든 인수가 TRUE이면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.\",\r\n      CalculateOR:\r\n        \"인수 중 하나라도 TRUE이면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.\",\r\n      IFERROR:\r\n        \"오류가 발견되지 않으면 값을 반환하고 그렇지 않으면 지정된 값을 반환합니다.\",\r\n      CHOOSE: \"색인 번호를 기준으로 값 목록에서 값을 반환합니다.\",\r\n      INDEX: \"행 및 열 번호를 기준으로 지정된 범위의 셀 값을 반환합니다.\",\r\n      FIND: \"대소문자를 구분하는 다른 문자열 내의 문자열 위치를 반환합니다.\",\r\n      CONCATENATE: \"두 개 이상의 문자열을 함께 결합합니다.\",\r\n      CONCAT: \"목록 또는 텍스트 문자열 범위를 연결합니다.\",\r\n      SUBTOTAL: \"주어진 함수 번호를 사용하여 범위에 대한 소계를 반환합니다.\",\r\n      RADIANS: \"각도를 라디안으로 변환합니다.\",\r\n      MATCH: \"지정된 범위에서 지정된 값의 상대 위치를 반환합니다.\",\r\n      SLOPE: \"데이터 포인트의 선형 회귀에서 선의 기울기를 반환합니다.\",\r\n      INTERCEPT: \"선형 회귀를 통해 Y 절편 선의 점을 계산합니다.\",\r\n      UNIQUE: \"범위 또는 배열에서 고유한 값을 반환합니다.\",\r\n      TEXT: \"값을 지정된 숫자 형식의 텍스트로 변환합니다.\",\r\n      DefineNameExists: \"이 이름은 이미 존재합니다. 다른 이름을 입력하십시오.\",\r\n      CircularReference:\r\n        \"수식이 하나 이상의 순환 참조를 참조하는 경우 계산이 잘못될 수 있습니다.\",\r\n      SORT: \"배열의 범위를 정렬합니다.\",\r\n      T: \"값이 텍스트인지 여부를 확인하고 텍스트를 반환합니다.\",\r\n      EXACT:\r\n        \"두 텍스트 문자열이 정확히 동일한지 확인하고 TRUE 또는 FALSE를 반환합니다.\",\r\n      LEN: \"주어진 문자열의 문자 수를 반환합니다.\",\r\n      MOD: \"숫자를 제수로 나눈 후 나머지를 반환합니다.\",\r\n      ODD: \"양수는 올리고 음수는 가장 가까운 홀수로 내림합니다.\",\r\n      PI: \"pi 값을 반환합니다.\",\r\n      COUNTBLANK: \"지정된 셀 범위의 빈 셀 수를 반환합니다.\",\r\n      EVEN: \"양수는 올리고 음수는 가장 가까운 짝수로 내림합니다.\",\r\n      DECIMAL: \"주어진 기수의 텍스트 표현을 10진수로 변환합니다.\",\r\n      ADDRESS: \"지정된 행 및 열 번호가 주어지면 셀 참조를 텍스트로 반환합니다.\",\r\n      CHAR: \"지정된 숫자의 문자를 반환합니다.\",\r\n      CODE: \"주어진 문자열의 첫 번째 문자에 대한 숫자 코드를 반환합니다.\",\r\n      DOLLAR: \"숫자를 통화 형식의 텍스트로 변환합니다.\",\r\n      SMALL: \"지정된 배열에서 k번째로 작은 값을 반환합니다.\",\r\n      LARGE: \"지정된 배열에서 k번째로 큰 값을 반환합니다.\",\r\n      TIME: \"시, 분, 초를 시간 형식 텍스트로 변환합니다.\",\r\n      DEGREES: \"라디안을 각도로 변환합니다.\",\r\n      FACT: \"숫자의 계승을 반환합니다.\",\r\n      MEDIAN: \"주어진 숫자 집합의 중앙값을 반환합니다.\",\r\n      EDATE: \"지정된 날짜 이전 또는 이후에 주어진 개월 수의 날짜를 반환합니다.\",\r\n      DATEVALUE: \"날짜 문자열을 날짜 값으로 변환합니다.\",\r\n      NOW: \"현재 날짜와 시간을 반환합니다.\",\r\n      HOUR: \"지정된 시간 문자열의 시간을 반환합니다.\",\r\n      MINUTE: \"지정된 시간 문자열의 분 수를 반환합니다.\",\r\n      SECOND: \"지정된 시간 문자열의 초 수를 반환합니다.\",\r\n      MONTH: \"지정된 날짜 문자열의 개월 수를 반환합니다.\",\r\n      OR: \"또는\",\r\n      AND: \"그리고\",\r\n      CustomFilterDatePlaceHolder: \"날짜를 선택하세요\",\r\n      CustomFilterPlaceHolder: \"값을 입력하세요\",\r\n      CustomFilter: \"맞춤 필터\",\r\n      Between: \"사이\",\r\n      MatchCase: \"대소문자 일치\",\r\n      DateTimeFilter: \"DateTime 필터\",\r\n      Undo: \"실행 취소\",\r\n      Redo: \"다시 하다\",\r\n      ClearAllFilter: \"분명한\",\r\n      ReapplyFilter: \"재신청\",\r\n      DateFilter: \"날짜 필터\",\r\n      TextFilter: \"텍스트 필터\",\r\n      NumberFilter: \"숫자 필터\",\r\n      ClearFilter: \"필터 지우기\",\r\n      NoResult: \"검색 결과가 없습니다\",\r\n      FilterFalse: \"거짓\",\r\n      FilterTrue: \"진실\",\r\n      Blanks: \"공백\",\r\n      SelectAll: \"모두 선택\",\r\n      GreaterThanOrEqual: \"크거나 같음\",\r\n      GreaterThan: \"보다 큰\",\r\n      LessThanOrEqual: \"작거나 같음\",\r\n      LessThan: \"미만\",\r\n      NotEqual: \"같지 않음\",\r\n      Equal: \"동일한\",\r\n      Contains: \"포함\",\r\n      NotContains: \"포함하지 않음\",\r\n      EndsWith: \"로 끝나다\",\r\n      NotEndsWith: \"다음으로 끝나지 않음\",\r\n      StartsWith: \"다음으로 시작\",\r\n      NotStartsWith: \"다음으로 시작하지 않음\",\r\n      IsEmpty: \"비어 있는\",\r\n      IsNotEmpty: \"비어 있지 않음\",\r\n      ClearButton: \"분명한\",\r\n      FilterButton: \"필터\",\r\n      CancelButton: \"취소\",\r\n      OKButton: \"확인\",\r\n      Search: \"찾다\",\r\n      DataValidation: \"데이터 유효성 검사\",\r\n      CellRange: \"셀 범위\",\r\n      Allow: \"허용하다\",\r\n      Data: \"데이터\",\r\n      Minimum: \"최저한의\",\r\n      Maximum: \"최고\",\r\n      IgnoreBlank: \"공백 무시\",\r\n      WholeNumber: \"정수\",\r\n      Decimal: \"소수\",\r\n      Date: \"날짜\",\r\n      TextLength: \"텍스트 길이\",\r\n      List: \"목록\",\r\n      NotBetween: \"사이 아님\",\r\n      EqualTo: \"동일\",\r\n      NotEqualTo: \"같지 않음\",\r\n      GreaterThanOrEqualTo: \"크거나 같음\",\r\n      LessThanOrEqualTo: \"작거나 같음\",\r\n      InCellDropDown: \"셀 내 드롭다운\",\r\n      Sources: \"출처\",\r\n      Value: \"값\",\r\n      Retry: \"다시 해 보다\",\r\n      DialogError: \"목록 소스는 단일 행 또는 열에 대한 참조여야 합니다.\",\r\n      MinMaxError: \"최대값은 최소값보다 크거나 같아야 합니다.\",\r\n      InvalidNumberError: \"유효한 숫자를 입력하세요.\",\r\n      Spreadsheet: \"스프레드시트\",\r\n      MoreValidation:\r\n        \"이 선택 항목에는 둘 이상의 유효성 검사가 포함되어 있습니다.\",\r\n      FileNameError:\r\n        '파일 이름은 \\\\ / : * ? 와 같은 문자를 포함할 수 없습니다. \" < > [ ] |',\r\n      ValidationError:\r\n        \"이 값은 셀에 대해 정의된 데이터 유효성 검사 제한과 일치하지 않습니다.\",\r\n      ListLengthError: \"목록 값은 최대 256자까지만 허용됩니다.\",\r\n      ProtectSheet: \"보호 시트\",\r\n      UnprotectSheet: \"시트 보호 해제\",\r\n      SelectCells: \"잠긴 셀 선택\",\r\n      SelectUnlockedCells: \"잠금 해제된 셀 선택\",\r\n      Save: \"구하다\",\r\n      EmptyFileName: \"파일 이름은 비워둘 수 없습니다.\",\r\n      LargeName: \"이름이 너무 깁니다.\",\r\n      FormatCells: \"셀 서식 지정\",\r\n      FormatRows: \"행 서식 지정\",\r\n      FormatColumns: \"형식 열\",\r\n      InsertLinks: \"링크 삽입\",\r\n      ProtectContent: \"잠긴 셀의 내용 보호\",\r\n      ProtectAllowUser: \" 이 워크시트의 모든 사용자에게 다음을 허용합니다.\",\r\n      EditAlert:\r\n        \"변경하려는 셀이 보호되어 있습니다. 변경하려면 시트 보호를 해제하십시오.\",\r\n      ReadonlyAlert:\r\n        \"읽기 전용 모드인 셀을 수정하려고 합니다. 변경하려면 읽기 전용 상태를 비활성화하세요.\",\r\n      ClearValidation: \"명확한 유효성 검사\",\r\n      ISNUMBER: \"값이 숫자 값으로 구문 분석되면 true를 반환합니다.\",\r\n      ROUND: \"숫자를 지정된 자릿수로 반올림합니다.\",\r\n      GEOMEAN: \"양의 데이터 배열 또는 범위의 기하 평균을 반환합니다.\",\r\n      POWER: \"거듭제곱한 숫자의 결과를 반환합니다.\",\r\n      LOG: \"지정한 밑을 기준으로 숫자의 로그를 반환합니다.\",\r\n      TRUNC: \"숫자의 잘린 값을 지정된 소수 자릿수로 반환합니다.\",\r\n      EXP: \"주어진 숫자만큼 거듭제곱한 e를 반환합니다.\",\r\n      LOOKUP:\r\n        \"행이나 열의 범위내의 값을 검색해, 행 또는 열의 범위내의 같은 위치에 있는 값을 돌려줍니다.\",\r\n      HLOOKUP:\r\n        \"값 테이블의 최상위 행의 값을 검색해, 지정된 테이블행의 같은 열의 값을 돌려줍니다.\",\r\n      VLOOKUP:\r\n        \"검색 범위의 최초의 열로 지정된 값을 검색해, 행의 2 열째의 대응하는 값을 돌려줍니다.\",\r\n      NOT: \"지정된 부울 표현식의 역수를 반환합니다.\",\r\n      EOMONTH:\r\n        \"최초로 지정된 시작일로부터 지정된 월수 전후의 달의 마지막 날을 돌려줍니다.\",\r\n      SQRT: \"양수의 제곱근을 돌려줍니다.\",\r\n      ROUNDDOWN: \"숫자를 0으로 반올림합니다.\",\r\n      RSQ: \"known_y 및 known_x 데이터 포인트를 기반으로 제곱 피어슨 곱 모멘트 상관 계수를 반환합니다.\",\r\n      HighlightCellsRules: \"셀 하이라이트 규칙\",\r\n      CFEqualTo: \"동일\",\r\n      TextThatContains: \"다음을 포함하는 텍스트\",\r\n      ADateOccuring: \"날짜 발생\",\r\n      DuplicateValues: \"중복 값\",\r\n      TopBottomRules: \"상위/하위 규칙\",\r\n      Top10Items: \"상위 10개 항목\",\r\n      Top10: \"상위 10 개\",\r\n      Bottom10Items: \"하위 10개 항목\",\r\n      Bottom10: \"하위 10위\",\r\n      AboveAverage: \"평균 이상\",\r\n      BelowAverage: \"평균 이하\",\r\n      FormatCellsGreaterThan: \"다음보다 큰 셀 서식 지정:\",\r\n      FormatCellsLessThan: \"LESS THAN인 셀 서식 지정:\",\r\n      FormatCellsBetween: \"다음 사이에 있는 셀 서식 지정:\",\r\n      FormatCellsEqualTo: \"다음과 같은 셀 서식 지정:\",\r\n      FormatCellsThatContainTheText: \"텍스트가 포함된 셀 서식 지정:\",\r\n      FormatCellsThatContainADateOccurring: \"발생 날짜가 포함된 셀 서식 지정:\",\r\n      FormatCellsDuplicate: \"다음을 포함하는 셀 서식 지정:\",\r\n      FormatCellsTop: \"TOP 순위에 있는 셀 서식 지정:\",\r\n      FormatCellsBottom: \"BOTTOM에서 순위가 ​​매겨지는 셀 서식 지정:\",\r\n      FormatCellsAbove: \"평균 이상인 셀 서식 지정:\",\r\n      FormatCellsBelow: \"평균 이하인 셀 서식 지정:\",\r\n      With: \"~와 함께\",\r\n      DataBars: \"데이터 막대\",\r\n      ColorScales: \"색상 스케일\",\r\n      IconSets: \"아이콘 세트\",\r\n      ClearRules: \"명확한 규칙\",\r\n      SelectedCells: \"선택한 셀에서 규칙 지우기\",\r\n      EntireSheet: \"전체 시트에서 규칙 지우기\",\r\n      LightRedFillWithDarkRedText: \"어두운 빨간색 텍스트로 밝은 빨간색 채우기\",\r\n      YellowFillWithDarkYellowText: \"진한 노란색 텍스트가 있는 노란색 채우기\",\r\n      GreenFillWithDarkGreenText: \"짙은 녹색 텍스트로 녹색 채우기\",\r\n      RedFill: \"빨간색 채우기\",\r\n      RedText: \"빨간색 텍스트\",\r\n      Duplicate: \"복제하다\",\r\n      Unique: \"독특한\",\r\n      And: \"그리고\",\r\n      WebPage: \"웹 페이지\",\r\n      ThisDocument: \"이 문서\",\r\n      DisplayText: \"디스플레이 텍스트\",\r\n      Url: \"URL\",\r\n      CellReference: \"셀 참조\",\r\n      DefinedNames: \"정의된 이름\",\r\n      EnterTheTextToDisplay: \"표시할 텍스트를 입력하세요.\",\r\n      EnterTheUrl: \"URL을 입력하세요\",\r\n      INT: \"숫자를 가장 가까운 정수로 반환합니다.\",\r\n      SUMPRODUCT: \"주어진 배열 범위의 곱의 합계를 반환합니다.\",\r\n      TODAY: \"현재 날짜를 날짜 값으로 반환합니다.\",\r\n      ROUNDUP: \"0에서 먼 쪽으로 숫자를 반올림합니다.\",\r\n      Link: \"링크\",\r\n      Hyperlink: \"하이퍼링크\",\r\n      EditHyperlink: \"하이퍼링크 편집\",\r\n      OpenHyperlink: \"하이퍼링크 열기\",\r\n      RemoveHyperlink: \"하이퍼링크 제거\",\r\n      InvalidHyperlinkAlert:\r\n        \"이 사이트의 주소가 유효하지 않습니다. 주소를 확인하고 다시 시도하십시오.\",\r\n      InsertLink: \"링크 삽입\",\r\n      EditLink: \"링크 편집\",\r\n      WrapText: \"줄 바꿈 텍스트\",\r\n      Update: \"업데이트\",\r\n      SortAndFilter: \"정렬 및 필터\",\r\n      Filter: \"필터\",\r\n      FilterCellValue: \"선택한 셀의 값으로 필터링\",\r\n      FilterOutOfRangeError:\r\n        \"사용된 범위 내의 셀 또는 범위를 선택하고 다시 시도하십시오.\",\r\n      ClearFilterFrom: \"다음에서 필터 지우기\",\r\n      LN: \"숫자의 자연 로그를 반환합니다.\",\r\n      DefineNameInValid: \"입력한 이름이 유효하지 않습니다.\",\r\n      EmptyError: \"값을 입력해야 합니다.\",\r\n      ClearHighlight: \"하이라이트 지우기\",\r\n      HighlightInvalidData: \"유효하지 않은 데이터 강조\",\r\n      Clear: \"분명한\",\r\n      ClearContents: \"내용 지우기\",\r\n      ClearAll: \"모두 지우기\",\r\n      ClearFormats: \"형식 지우기\",\r\n      ClearHyperlinks: \"하이퍼링크 지우기\",\r\n      Image: \"영상\",\r\n      ConditionalFormatting: \"조건부 서식\",\r\n      BlueDataBar: \"파란색 데이터 막대\",\r\n      GreenDataBar: \"녹색 데이터 막대\",\r\n      RedDataBar: \"빨간색 데이터 막대\",\r\n      OrangeDataBar: \"주황색 데이터 막대\",\r\n      LightBlueDataBar: \"하늘색 데이터 막대\",\r\n      PurpleDataBar: \"보라색 데이터 막대\",\r\n      GYRColorScale: \"녹색 - 노란색 - 빨간색 색 눈금\",\r\n      RYGColorScale: \"빨간색 - 노란색 - 녹색 색상 스케일\",\r\n      GWRColorScale: \"녹색 - 흰색 - 빨간색 스케일\",\r\n      RWGColorScale: \"레드 - 화이트 - 그린 컬러 스케일\",\r\n      BWRColorScale: \"파란색 - 흰색 - 빨간색 스케일\",\r\n      RWBColorScale: \"빨강 - 흰색 - 파랑 색 눈금\",\r\n      WRColorScale: \"화이트 - 레드 컬러 스케일\",\r\n      RWColorScale: \"레드 - 화이트 컬러 스케일\",\r\n      GWColorScale: \"녹색 - 흰색 색조\",\r\n      WGColorScale: \"화이트 - 그린 컬러 스케일\",\r\n      GYColorScale: \"녹색 - 노란색 색 눈금\",\r\n      YGColorScale: \"노란색 - 녹색 색상 척도\",\r\n      ThreeArrowsColor: \"3 화살표 (컬러)\",\r\n      ThreeArrowsGray: \"3 화살표 (회색)\",\r\n      ThreeTriangles: \"3 삼각형\",\r\n      FourArrowsColor: \"4 화살표(회색)\",\r\n      FourArrowsGray: \"4 화살표 (컬러)\",\r\n      FiveArrowsColor: \"5 화살표(회색)\",\r\n      FiveArrowsGray: \"5 화살표(색상)\",\r\n      ThreeTrafficLights1: \"신호등 3개(테두리 없음)\",\r\n      ThreeTrafficLights2: \"3 신호등(테두리)\",\r\n      ThreeSigns: \"3 징후\",\r\n      FourTrafficLights: \"4 신호등\",\r\n      RedToBlack: \"빨강에서 검정으로\",\r\n      ThreeSymbols1: \"3 기호(원)\",\r\n      ThreeSymbols2: \"3 기호(동그라미 없음)\",\r\n      ThreeFlags: \"3 플래그\",\r\n      ThreeStars: \"별 3개\",\r\n      FourRatings: \"4 등급\",\r\n      FiveQuarters: \"5쿼터\",\r\n      FiveRatings: \"5 등급\",\r\n      FiveBoxes: \"5박스\",\r\n      Chart: \"차트\",\r\n      Column: \"열\",\r\n      Bar: \"술집\",\r\n      Area: \"지역\",\r\n      Pie: \"파이\",\r\n      Doughnut: \"도넛\",\r\n      PieAndDoughnut: \"파이/도넛\",\r\n      Line: \"라인\",\r\n      Radar: \"레이더\",\r\n      Scatter: \"흩어지게하다\",\r\n      ChartDesign: \"차트 디자인\",\r\n      ClusteredColumn: \"클러스터링된 열\",\r\n      StackedColumn: \"누적 열\",\r\n      StackedColumn100: \"100% 누적 열\",\r\n      ClusteredBar: \"군집 막대\",\r\n      StackedBar: \"누적 막대\",\r\n      StackedBar100: \"100% 누적 막대\",\r\n      StackedArea: \"누적 영역\",\r\n      StackedArea100: \"100% 누적 면적\",\r\n      StackedLine: \"누적선\",\r\n      StackedLine100: \"100% 누적 선\",\r\n      LineMarker: \"마커가 있는 선\",\r\n      StackedLineMarker: \"마커가 있는 누적 라인\",\r\n      StackedLine100Marker: \"마커가 있는 100% 누적 선\",\r\n      AddChartElement: \"차트 요소 추가\",\r\n      Axes: \"축\",\r\n      AxisTitle: \"축 제목\",\r\n      ChartTitle: \"차트 제목\",\r\n      DataLabels: \"데이터 레이블\",\r\n      Gridlines: \"눈금선\",\r\n      Legends: \"전설\",\r\n      PrimaryHorizontal: \"기본 수평\",\r\n      PrimaryVertical: \"기본 수직\",\r\n      None: \"없음\",\r\n      AboveChart: \"차트 위\",\r\n      Center: \"센터\",\r\n      InsideEnd: \"인사이드 엔드\",\r\n      InsideBase: \"내부 기지\",\r\n      OutsideEnd: \"아웃사이드 엔드\",\r\n      PrimaryMajorHorizontal: \"1차 전공 수평\",\r\n      PrimaryMajorVertical: \"기본 주요 수직\",\r\n      PrimaryMinorHorizontal: \"기본 마이너 수평\",\r\n      PrimaryMinorVertical: \"기본 마이너 버티컬\",\r\n      Right: \"오른쪽\",\r\n      Left: \"왼쪽\",\r\n      Bottom: \"맨 아래\",\r\n      Top: \"맨 위\",\r\n      SwitchRowColumn: \"행/열 전환\",\r\n      ChartTheme: \"차트 테마\",\r\n      ChartType: \"차트 유형\",\r\n      Material: \"재료\",\r\n      Fabric: \"구조\",\r\n      Bootstrap: \"부트스트랩\",\r\n      HighContrastLight: \"고대비 조명\",\r\n      MaterialDark: \"소재 다크\",\r\n      FabricDark: \"패브릭 다크\",\r\n      HighContrast: \"고대비\",\r\n      BootstrapDark: \"부트스트랩 다크\",\r\n      Bootstrap4: \"부트스트랩4\",\r\n      Bootstrap5Dark: \"부트스트랩5 다크\",\r\n      Bootstrap5: \"부트스트랩5\",\r\n      Tailwind: \"순풍\",\r\n      TailwindDark: \"테일윈드 다크\",\r\n      VerticalAxisTitle: \"세로축 제목\",\r\n      HorizontalAxisTitle: \"가로축 제목\",\r\n      EnterTitle: \"제목 입력\",\r\n      UnprotectWorksheet: \"시트 보호 해제\",\r\n      ReEnterPassword: \"계속하려면 비밀번호를 다시 입력하세요.\",\r\n      SheetPassword: \"시트 보호 해제 암호:\",\r\n      ProtectWorkbook: \"통합 문서 보호\",\r\n      Password: \"비밀번호(선택사항):\",\r\n      EnterThePassword: \"비밀번호를 입력하세요\",\r\n      ConfirmPassword: \"비밀번호 확인\",\r\n      EnterTheConfirmPassword: \"비밀번호를 다시 입력하세요\",\r\n      PasswordAlert: \"확인 암호가 동일하지 않습니다\",\r\n      UnprotectWorkbook: \"통합 문서 보호 해제\",\r\n      UnprotectPasswordAlert: \"제공한 암호가 올바르지 않습니다.\",\r\n      IncorrectPassword:\r\n        \"지정된 비밀번호로 파일 또는 워크시트를 열 수 없습니다.\",\r\n      PasswordAlertMsg: \"비밀번호를 입력해주세요\",\r\n      ConfirmPasswordAlertMsg: \"확인 비밀번호를 입력해주세요\",\r\n      IsProtected: \"보호된다\",\r\n      PDF: \"PDF 문서\",\r\n      AutoFillMergeAlertMsg:\r\n        \"이렇게 하려면 병합된 모든 셀의 크기가 같아야 합니다.\",\r\n      Fluent: \"유창한\",\r\n      FluentDark: \"유창한 어둠\",\r\n      Fluent2: \"유창함 2\",\r\n      Fluent2Dark: \"유창함 2 어두운\",\r\n      Fluent2HighContrast: \"Fluent 2 고대비\",\r\n      Custom: \"관습\",\r\n      WEEKDAY: \"날짜에 해당하는 요일을 반환합니다.\",\r\n      FillSeries: \"채우기 시리즈\",\r\n      CopyCells: \"셀 복사\",\r\n      FillFormattingOnly: \"서식만 채우기\",\r\n      FillWithoutFormatting: \"서식 없이 채우기\",\r\n      CustomFormat: \"사용자 지정 숫자 형식\",\r\n      CustomFormatPlaceholder: \"사용자 지정 형식 입력 또는 선택\",\r\n      CustomFormatTypeList: \"유형\",\r\n      CellReferenceTypoError:\r\n        \"셀 참조에서 오타를 찾았습니다. 이 참조를 다음과 같이 수정하시겠습니까?\",\r\n      AddCurrentSelection: \"현재 선택 항목을 필터에 추가\",\r\n      ExternalWorkbook:\r\n        \"가져온 Excel 파일에는 외부 통합 문서 참조가 포함되어 있습니다. 해당 파일을 가져오시겠습니까?\",\r\n      Directional: \"방향\",\r\n      Shapes: \"모양\",\r\n      Indicators: \"지표\",\r\n      Ratings: \"평가\",\r\n      InvalidFormulaError: \"잘못된 수식을 입력한 것으로 나타났습니다.\",\r\n      InvalidArguments:\r\n        \"잘못된 인수가 포함된 수식을 입력한 것으로 나타났습니다.\",\r\n      EmptyExpression: \"빈 표현식이 포함된 수식을 입력한 것으로 나타났습니다.\",\r\n      MismatchedParenthesis:\r\n        \"여는 괄호나 닫는 괄호가 하나 이상 누락된 수식을 입력한 것으로 나타났습니다.\",\r\n      ImproperFormula: \"귀하가 부적절한 수식을 입력한 것으로 나타났습니다.\",\r\n      WrongNumberOfArguments:\r\n        \"인수 개수가 잘못된 수식을 입력한 것으로 나타났습니다.\",\r\n      Requires3Arguments:\r\n        \"3개의 인수가 필요한 수식을 입력한 것으로 나타났습니다.\",\r\n      MismatchedStringQuotes:\r\n        \"따옴표가 일치하지 않는 수식을 입력한 것으로 나타났습니다.\",\r\n      FormulaCircularRef:\r\n        \"순환 참조가 포함된 수식을 입력한 것으로 나타났습니다.\",\r\n    },\r\n    filemanager: {\r\n      NewFolder: \"새 폴더\",\r\n      Upload: \"업로드\",\r\n      Delete: \"지우다\",\r\n      Rename: \"이름 바꾸기\",\r\n      Download: \"다운로드\",\r\n      Cut: \"절단\",\r\n      Copy: \"부\",\r\n      Paste: \"풀\",\r\n      SortBy: \"정렬 기준\",\r\n      Refresh: \"새롭게 하다\",\r\n      \"Item-Selection\": \"선택된 항목\",\r\n      \"Items-Selection\": \"선택된 항목\",\r\n      View: \"전망\",\r\n      Details: \"세부\",\r\n      SelectAll: \"모두 선택\",\r\n      Open: \"열다\",\r\n      \"Tooltip-NewFolder\": \"새 폴더\",\r\n      \"Tooltip-Upload\": \"업로드\",\r\n      \"Tooltip-Delete\": \"지우다\",\r\n      \"Tooltip-Rename\": \"이름 바꾸기\",\r\n      \"Tooltip-Download\": \"다운로드\",\r\n      \"Tooltip-Cut\": \"절단\",\r\n      \"Tooltip-Copy\": \"부\",\r\n      \"Tooltip-Paste\": \"풀\",\r\n      \"Tooltip-SortBy\": \"정렬 기준\",\r\n      \"Tooltip-Refresh\": \"새롭게 하다\",\r\n      \"Tooltip-Selection\": \"명확한 선택\",\r\n      \"Tooltip-View\": \"전망\",\r\n      \"Tooltip-Details\": \"세부\",\r\n      \"Tooltip-SelectAll\": \"모두 선택\",\r\n      Name: \"이름\",\r\n      Size: \"크기\",\r\n      DateModified: \"수정\",\r\n      DateCreated: \"작성일\",\r\n      Path: \"통로\",\r\n      Modified: \"수정\",\r\n      Created: \"만들어진\",\r\n      Location: \"위치\",\r\n      Type: \"유형\",\r\n      Permission: \"허가\",\r\n      Ascending: \"오름차순\",\r\n      Descending: \"내림차순\",\r\n      None: \"없음\",\r\n      \"View-LargeIcons\": \"큰 아이콘\",\r\n      \"View-Details\": \"세부\",\r\n      Search: \"검색\",\r\n      \"Button-Ok\": \"확인\",\r\n      \"Button-Cancel\": \"취소\",\r\n      \"Button-Yes\": \"예\",\r\n      \"Button-No\": \"아니\",\r\n      \"Button-Create\": \"창조하다\",\r\n      \"Button-Save\": \"저장\",\r\n      \"Header-NewFolder\": \"폴더\",\r\n      \"Content-NewFolder\": \"폴더 이름을 입력하십시오\",\r\n      \"Header-Rename\": \"이름 바꾸기\",\r\n      \"Content-Rename\": \"새 이름을 입력하십시오\",\r\n      \"Header-Rename-Confirmation\": \"확인 이름 변경\",\r\n      \"Content-Rename-Confirmation\":\r\n        \"파일 이름 확장자를 변경하면 파일이 불안정해질 수 있습니다. 변경 하시겠습니까?\",\r\n      \"Header-Delete\": \"파일 삭제\",\r\n      \"Content-Delete\": \"이 파일을 삭제 하시겠습니까?\",\r\n      \"Header-Folder-Delete\": \"폴더 삭제\",\r\n      \"Content-Folder-Delete\": \"이 폴더를 삭제 하시겠습니까?\",\r\n      \"Header-Multiple-Delete\": \"여러 파일 삭제\",\r\n      \"Content-Multiple-Delete\": \"이 {0} 파일을 삭제 하시겠습니까?\",\r\n      \"Header-Duplicate\": \"파일 / 폴더가 존재합니다\",\r\n      \"Content-Duplicate\":\r\n        \"{0}이 (가) 이미 존재합니다. 이름을 바꾸고 붙여 넣기 하시겠습니까?\",\r\n      \"Header-Upload\": \"파일 업로드하다\",\r\n      Error: \"오류\",\r\n      \"Validation-Empty\": \"파일 또는 폴더 이름은 비워 둘 수 없습니다.\",\r\n      \"Validation-Invalid\":\r\n        '파일 또는 폴더 이름 {0}에 유효하지 않은 문자가 있습니다. 다른 이름을 사용하십시오. 유효한 파일 또는 폴더 이름은 점 또는 공백으로 끝날 수 없으며 다음 문자를 포함 할 수 없습니다. \\\\ / : *? \"<> |',\r\n      \"Validation-NewFolder-Exists\":\r\n        \"이름이 {0} 인 파일 또는 폴더가 이미 존재합니다.\",\r\n      \"Validation-Rename-Exists\":\r\n        \"{0}의 이름을 {1} (으)로 바꿀 수 없습니다. 대상이 이미 존재합니다.\",\r\n      \"Folder-Empty\": \"이 폴더는 비어 있습니다\",\r\n      \"File-Upload\": \"파일을 여기로 드래그하여 업로드\",\r\n      \"Search-Empty\": \"검색 결과가 없습니다\",\r\n      \"Search-Key\": \"다른 키워드로 시도\",\r\n      \"Filter-Empty\": \"검색 결과가 없습니다\",\r\n      \"Filter-Key\": \"다른 필터로 시도\",\r\n      \"Sub-Folder-Error\": \"대상 폴더는 원본 폴더의 하위 폴더입니다.\",\r\n      \"Same-Folder-Error\": \"대상 폴더는 원본 폴더와 동일합니다.\",\r\n      \"Access-Denied\": \"접근 불가\",\r\n      \"Access-Details\": \"이 폴더에 액세스 할 수있는 권한이 없습니다.\",\r\n      \"Header-Retry\": \"존재하는 파일입니다\",\r\n      \"Content-Retry\":\r\n        \"이 이름의 파일이 이미이 폴더에 있습니다. 무엇을하고 싶으십니까?\",\r\n      \"Button-Keep-Both\": \"둘 다 유지\",\r\n      \"Button-Replace\": \"바꾸다\",\r\n      \"Button-Skip\": \"건너 뛰기\",\r\n      \"ApplyAll-Label\": \"모든 현재 항목에 대해이 작업을 수행하십시오.\",\r\n      KB: \"KB\",\r\n      \"Access-Message\":\r\n        \"{0}에 액세스 할 수 없습니다. {1} 조치를 수행하려면 권한이 필요합니다.\",\r\n      \"Network-Error\":\r\n        \"XMLHTTPRequest를 보내지 못했습니다 :로드하지 못했습니다\",\r\n      \"Server-Error\": \"서버 오류 : 잘못된 응답\",\r\n    },\r\n    calendar: {\r\n      today: \"오늘\",\r\n    },\r\n    datepicker: {\r\n      today: \"오늘\",\r\n      placeholder: \"날짜를 선택하십시오\",\r\n    },\r\n    daterangepicker: {\r\n      placeholder: \"기간을 선택하십시오\",\r\n      startLabel: \"시작일\",\r\n      endLabel: \"종료일\",\r\n      applyText: \"대다\",\r\n      cancelText: \"취소\",\r\n      selectedDays: \"선택된 요일\",\r\n      days: \"일\",\r\n      customRange: \"맞춤 범위\",\r\n    },\r\n    timepicker: {\r\n      placeholder: \"시간을 선택하세요\",\r\n    },\r\n    datetimepicker: {\r\n      today: \"오늘\",\r\n      placeholder: \"날짜와 시간을 선택하십시오\",\r\n    },\r\n    dialog: {\r\n      close: \"닫기\",\r\n    },\r\n    toast: {\r\n      close: \"닫기\",\r\n    },\r\n    tab: {\r\n      closeButtonTitle: \"닫기\",\r\n    },\r\n    schedule: {\r\n      day: \"일\",\r\n      week: \"주\",\r\n      workWeek: \"일주일\",\r\n      month: \"달\",\r\n      year: \"년\",\r\n      agenda: \"의제\",\r\n      weekAgenda: \"주 일정\",\r\n      workWeekAgenda: \"일주일 의제\",\r\n      monthAgenda: \"달 의제\",\r\n      today: \"오늘\",\r\n      noEvents: \"이벤트가 없습니다\",\r\n      emptyContainer: \"이 날에는 예정된 행사가 없습니다.\",\r\n      allDay: \"하루 종일\",\r\n      start: \"스타트\",\r\n      end: \"종료\",\r\n      more: \"더\",\r\n      close: \"닫기\",\r\n      cancel: \"취소\",\r\n      noTitle: \"(제목 없음)\",\r\n      delete: \"지우다\",\r\n      deleteEvent: \"이번 행사\",\r\n      deleteMultipleEvent: \"여러 이벤트 삭제\",\r\n      selectedItems: \"선택된 아이템\",\r\n      deleteSeries: \"전체 시리즈\",\r\n      edit: \"편집하다\",\r\n      editSeries: \"전체 시리즈\",\r\n      editEvent: \"이번 행사\",\r\n      createEvent: \"창조하다\",\r\n      subject: \"제목\",\r\n      addTitle: \"제목 추가\",\r\n      moreDetails: \"자세한 내용은\",\r\n      moreEvents: \"더 많은 이벤트\",\r\n      save: \"저장\",\r\n      editContent: \"일련의 약속을 어떻게 변경하시겠습니까?\",\r\n      deleteContent: \"이 이벤트를 삭제 하시겠습니까?\",\r\n      deleteMultipleContent: \"선택한 이벤트를 삭제 하시겠습니까?\",\r\n      newEvent: \"새로운 이벤트\",\r\n      title: \"표제\",\r\n      location: \"위치\",\r\n      description: \"기술\",\r\n      timezone: \"시간대\",\r\n      startTimezone: \"시간대 시작\",\r\n      endTimezone: \"종료 시간대\",\r\n      repeat: \"반복\",\r\n      saveButton: \"저장\",\r\n      cancelButton: \"취소\",\r\n      deleteButton: \"지우다\",\r\n      recurrence: \"회귀\",\r\n      wrongPattern: \"반복 패턴이 유효하지 않습니다.\",\r\n      seriesChangeAlert:\r\n        \"이 시리즈의 특정 인스턴스에 대한 변경 사항을 취소하고 전체 시리즈와 다시 일치 시키려고합니까?\",\r\n      createError:\r\n        \"이벤트 기간은 발생 빈도보다 짧아야합니다. 지속 시간을 줄이거 나 반복 이벤트 편집기에서 반복 패턴을 변경하십시오.\",\r\n      sameDayAlert: \"같은 날 두 번의 동일한 이벤트가 발생할 수 없습니다.\",\r\n      occurenceAlert:\r\n        \"동일한 약속의 이후 발생을 건너 뛰는 경우 되풀이 약속의 발생을 다시 예약 할 수 없습니다.\",\r\n      editRecurrence: \"반복 편집\",\r\n      repeats: \"반복\",\r\n      alert: \"경보\",\r\n      startEndError: \"선택한 종료 날짜는 시작 날짜 이전에 발생합니다.\",\r\n      invalidDateError: \"입력 한 날짜 값이 유효하지 않습니다.\",\r\n      blockAlert: \"차단 된 시간 범위 내에서 이벤트를 예약 할 수 없습니다.\",\r\n      ok: \"확인\",\r\n      of: \"~의\",\r\n      yes: \"예\",\r\n      no: \"아니\",\r\n      occurrence: \"발생\",\r\n      series: \"시리즈\",\r\n      previous: \"이전\",\r\n      next: \"다음\",\r\n      timelineDay: \"타임 라인 데이\",\r\n      timelineWeek: \"타임 라인 주\",\r\n      timelineWorkWeek: \"타임 라인 작업 주간\",\r\n      timelineMonth: \"타임 라인 월\",\r\n      timelineYear: \"타임 라인\",\r\n      editFollowingEvent: \"다음 행사\",\r\n      deleteTitle: \"이벤트 삭제\",\r\n      editTitle: \"이벤트 수정\",\r\n      beginFrom: \"시작\",\r\n      endAt: \"종료\",\r\n      expandAllDaySection: \"하루 종일 섹션 확장\",\r\n      collapseAllDaySection: \"하루 종일 축소 섹션\",\r\n      searchTimezone: \"시간대 검색\",\r\n      noRecords: \"기록 없음\",\r\n    },\r\n    recurrenceeditor: {\r\n      none: \"없음\",\r\n      daily: \"매일\",\r\n      weekly: \"주간\",\r\n      monthly: \"월간 간행물\",\r\n      month: \"달\",\r\n      yearly: \"매년\",\r\n      never: \"못\",\r\n      until: \"까지\",\r\n      count: \"카운트\",\r\n      first: \"먼저\",\r\n      second: \"둘째\",\r\n      third: \"제삼\",\r\n      fourth: \"네번째\",\r\n      last: \"마지막\",\r\n      repeat: \"반복\",\r\n      repeatEvery: \"매번 반복\",\r\n      on: \"반복\",\r\n      end: \"종료\",\r\n      onDay: \"일\",\r\n      days: \"일\",\r\n      weeks: \"주\",\r\n      months: \"월\",\r\n      years: \"연령)\",\r\n      every: \"...마다\",\r\n      summaryTimes: \"타임스)\",\r\n      summaryOn: \"의 위에\",\r\n      summaryUntil: \"...까지\",\r\n      summaryRepeat: \"반복\",\r\n      summaryDay: \"일\",\r\n      summaryWeek: \"주\",\r\n      summaryMonth: \"월\",\r\n      summaryYear: \"연령)\",\r\n      monthWeek: \"월 주\",\r\n      monthPosition: \"월 위치\",\r\n      monthExpander: \"월 확장기\",\r\n      yearExpander: \"년 확장기\",\r\n      repeatInterval: \"간격 반복\",\r\n    },\r\n    gantt: {\r\n      emptyRecord: \"표시 할 레코드가 없습니다\",\r\n      id: \"신분증\",\r\n      name: \"이름\",\r\n      startDate: \"시작일\",\r\n      endDate: \"종료일\",\r\n      duration: \"지속\",\r\n      progress: \"진행\",\r\n      dependency: \"의존\",\r\n      notes: \"노트\",\r\n      baselineStartDate: \"기준 시작 날짜\",\r\n      baselineEndDate: \"기준 종료일\",\r\n      taskMode: \"작업 모드\",\r\n      changeScheduleMode: \"스케줄 모드 변경\",\r\n      subTasksStartDate: \"하위 작업 시작 날짜\",\r\n      subTasksEndDate: \"하위 작업 종료 날짜\",\r\n      scheduleStartDate: \"스케줄 시작일\",\r\n      scheduleEndDate: \"일정 종료일\",\r\n      auto: \"자동\",\r\n      manual: \"설명서\",\r\n      type: \"유형\",\r\n      offset: \"오프셋\",\r\n      resourceName: \"자원\",\r\n      resourceID: \"자원 ID\",\r\n      day: \"일\",\r\n      hour: \"시\",\r\n      minute: \"분\",\r\n      days: \"일\",\r\n      hours: \"시간\",\r\n      minutes: \"의사록\",\r\n      generalTab: \"일반\",\r\n      customTab: \"맞춤 항목\",\r\n      writeNotes: \"메모 작성\",\r\n      addDialogTitle: \"새 작업\",\r\n      editDialogTitle: \"작업 정보\",\r\n      saveButton: \"저장\",\r\n      add: \"더하다\",\r\n      edit: \"편집하다\",\r\n      update: \"최신 정보\",\r\n      delete: \"지우다\",\r\n      cancel: \"취소\",\r\n      search: \"검색\",\r\n      task: \" 직무\",\r\n      tasks: \" 업무\",\r\n      zoomIn: \"확대\",\r\n      zoomOut: \"축소\",\r\n      zoomToFit: \"맞게 확대\",\r\n      excelExport: \"엑셀 내보내기\",\r\n      csvExport: \"CSV 내보내기\",\r\n      expandAll: \"모두 확장\",\r\n      collapseAll: \"모든 축소\",\r\n      nextTimeSpan: \"다음 시간\",\r\n      prevTimeSpan: \"이전 기간\",\r\n      okText: \"확인\",\r\n      confirmDelete: \"레코드를 삭제 하시겠습니까?\",\r\n      from: \"에서\",\r\n      to: \"에\",\r\n      taskLink: \"작업 링크\",\r\n      lag: \"지연\",\r\n      start: \"스타트\",\r\n      finish: \"끝\",\r\n      enterValue: \"값을 입력하십시오\",\r\n      taskBeforePredecessor_FS:\r\n        \"'{1}'이 (가) 완료되기 전에 시작하기 위해 '{0}'을 (를) 이동했으며 두 작업이 연결되었습니다. 결과적으로 링크를 사용할 수 없습니다. 수행 할 작업을 아래에서 선택하십시오\",\r\n      taskAfterPredecessor_FS:\r\n        \"'{1}'에서 '{0}'을 (를) 이동했으며 두 작업이 연결되었습니다. 결과적으로 링크를 사용할 수 없습니다. 수행 할 작업을 아래에서 선택하십시오\",\r\n      taskBeforePredecessor_SS:\r\n        \"'{1}'이 (가) 시작되기 전에 시작하도록 '{0}'을 (를) 이동했으며 두 작업이 연결되었습니다. 결과적으로 링크를 사용할 수 없습니다. 수행 할 작업을 아래에서 선택하십시오\",\r\n      taskAfterPredecessor_SS:\r\n        \"'{1}'이 (가) 시작된 후 시작하도록 '{0}'을 (를) 이동했으며 두 작업이 연결되었습니다. 결과적으로 링크를 사용할 수 없습니다. 수행 할 작업을 아래에서 선택하십시오\",\r\n      taskBeforePredecessor_FF:\r\n        \"'{1}'이 (가) 완료되기 전에 '{0}'을 (를) 이동하여 두 작업이 연결되었습니다. 결과적으로 링크를 사용할 수 없습니다. 수행 할 작업을 아래에서 선택하십시오\",\r\n      taskAfterPredecessor_FF:\r\n        \"'{1}'이 (가) 완료된 후 '{0}'을 (를) 이동하고 두 작업이 연결되었습니다. 결과적으로 링크를 사용할 수 없습니다. 수행 할 작업을 아래에서 선택하십시오\",\r\n      taskBeforePredecessor_SF:\r\n        \"'{0}'을 (를) '{1}'에서 이동하여 시작했으며 두 작업이 연결되었습니다. 결과적으로 링크를 사용할 수 없습니다. 수행 할 작업을 아래에서 선택하십시오\",\r\n      taskAfterPredecessor_SF:\r\n        \"'{1}'이 (가) 시작된 후 '{0}'을 (를) 이동하고 두 작업이 연결되었습니다. 결과적으로 링크를 사용할 수 없습니다. 수행 할 작업을 아래에서 선택하십시오\",\r\n      taskInformation: \"작업 정보\",\r\n      deleteTask: \"작업 삭제\",\r\n      deleteDependency: \"종속성 삭제\",\r\n      convert: \"변하게 하다\",\r\n      save: \"저장\",\r\n      above: \"위\",\r\n      below: \"이하\",\r\n      child: \"아이\",\r\n      milestone: \"획기적 사건\",\r\n      toTask: \"할 일\",\r\n      toMilestone: \"이정표로\",\r\n      eventMarkers: \"이벤트 마커\",\r\n      leftTaskLabel: \"왼쪽 작업 라벨\",\r\n      rightTaskLabel: \"올바른 작업 라벨\",\r\n      timelineCell: \"타임 라인 셀\",\r\n      confirmPredecessorDelete: \"종속성 링크를 제거 하시겠습니까?\",\r\n      unit: \"단위\",\r\n      work: \"작업\",\r\n      taskType: \"작업 유형\",\r\n      unassignedTask: \"할당되지 않은 작업\",\r\n      group: \"그룹\",\r\n      indent: \"톱니 모양\",\r\n      outdent: \"내어쓰기\",\r\n      segments: \"세그먼트\",\r\n      splitTask: \"작업 분할\",\r\n      mergeTask: \"작업 병합\",\r\n      left: \"왼쪽\",\r\n      right: \"권리\",\r\n      FF: \"FF\",\r\n      FS: \"FS\",\r\n      SF: \"SF\",\r\n      SS: \"봄 여름 시즌\",\r\n    },\r\n    richtexteditor: {\r\n      alignments: \"정렬\",\r\n      justifyLeft: \"왼쪽 정렬\",\r\n      justifyCenter: \"가운데 맞춤\",\r\n      justifyRight: \"오른쪽 정렬\",\r\n      justifyFull: \"정렬 정렬\",\r\n      fontName: \"폰트 이름\",\r\n      fontSize: \"폰트 크기\",\r\n      fontColor: \"글자 색\",\r\n      backgroundColor: \"배경색\",\r\n      bold: \"굵게\",\r\n      italic: \"이탤릭체\",\r\n      underline: \"밑줄\",\r\n      strikethrough: \"취소 선\",\r\n      clearFormat: \"명확한 형식\",\r\n      clearAll: \"모두 지우기\",\r\n      cut: \"절단\",\r\n      copy: \"부\",\r\n      paste: \"풀\",\r\n      unorderedList: \"글 머리 기호 목록\",\r\n      orderedList: \"번호 매기기 목록\",\r\n      indent: \"들여 쓰기\",\r\n      outdent: \"들여 쓰기 감소\",\r\n      undo: \"실행 취소\",\r\n      redo: \"다시 하다\",\r\n      superscript: \"어깨 문자\",\r\n      subscript: \"아래 첨자\",\r\n      createLink: \"하이퍼 링크 삽입\",\r\n      openLink: \"링크 열기\",\r\n      editLink: \"링크 편집\",\r\n      removeLink: \"링크 제거\",\r\n      image: \"이미지 삽입\",\r\n      replace: \"바꾸다\",\r\n      numberFormatList: \"숫자 형식 목록\",\r\n      bulletFormatList: \"글머리 기호 형식 목록\",\r\n      audioReplace: \"바꾸다\",\r\n      videoReplace: \"바꾸다\",\r\n      videoAlign: \"맞추다\",\r\n      videoDimension: \"치수\",\r\n      audioRemove: \"제거하다\",\r\n      videoRemove: \"제거하다\",\r\n      audioLayoutOption: \"레이아웃 옵션\",\r\n      videoLayoutOption: \"레이아웃 옵션\",\r\n      align: \"정렬\",\r\n      caption: \"이미지 캡션\",\r\n      remove: \"없애다\",\r\n      insertLink: \"링크 삽입\",\r\n      display: \"디스플레이\",\r\n      altText: \"대체 텍스트\",\r\n      dimension: \"크기 변경\",\r\n      fullscreen: \"최대화\",\r\n      maximize: \"최대화\",\r\n      minimize: \"최소화\",\r\n      lowerCase: \"소문자\",\r\n      upperCase: \"대문자\",\r\n      print: \"인쇄\",\r\n      formats: \"체재\",\r\n      sourcecode: \"코드 뷰\",\r\n      preview: \"시사\",\r\n      viewside: \"뷰 사이드\",\r\n      insertCode: \"코드를 입력하세요\",\r\n      linkText: \"텍스트 표시\",\r\n      linkTooltipLabel: \"표제\",\r\n      linkWebUrl: \"웹 주소\",\r\n      linkTitle: \"제목을 입력하십시오\",\r\n      linkurl: \"https://example.com\",\r\n      linkOpenInNewWindow: \"새 창에서 링크 열기\",\r\n      linkHeader: \"링크 삽입\",\r\n      dialogInsert: \"끼워 넣다\",\r\n      dialogCancel: \"취소\",\r\n      dialogUpdate: \"최신 정보\",\r\n      imageHeader: \"이미지 삽입\",\r\n      audioHeader: \"오디오 삽입\",\r\n      videoHeader: \"비디오 삽입\",\r\n      imageLinkHeader: \"웹에서 링크를 제공 할 수도 있습니다\",\r\n      audioLinkHeader: \"웹에서 링크를 제공할 수도 있습니다.\",\r\n      videoLinkHeader: \"웹 URL\",\r\n      embedVideoLinkHeader: \"미디어 삽입 URL\",\r\n      mdimageLink: \"이미지의 URL을 입력하십시오\",\r\n      imageUploadMessage: \"여기에 이미지를 드롭하거나 업로드를 찾아보십시오\",\r\n      audioUploadMessage: \"오디오 파일을 삭제하거나 찾아 업로드하세요.\",\r\n      videoUploadMessage: \"비디오 파일을 드롭하거나 찾아 업로드하세요.\",\r\n      imageDeviceUploadMessage: \"업로드하려면 여기를 클릭하십시오\",\r\n      audioDeviceUploadMessage: \"업로드하려면 여기를 클릭하세요.\",\r\n      videoDeviceUploadMessage: \"업로드하려면 여기를 클릭하세요.\",\r\n      imageAlternateText: \"대체 텍스트\",\r\n      alternateHeader: \"대체 텍스트\",\r\n      browse: \"검색\",\r\n      imageUrl: \"https://example.com/image.png\",\r\n      audioUrl: \"https://example.com/audio.mp3\",\r\n      videoUrl: \"https://example.com/video.mp4\",\r\n      webUrl: \"웹 URL\",\r\n      embedUrl: \"코드 삽입\",\r\n      imageCaption: \"표제\",\r\n      imageSizeHeader: \"이미지 크기\",\r\n      imageHeight: \"신장\",\r\n      imageWidth: \"폭\",\r\n      videoHeight: \"키\",\r\n      videoWidth: \"너비\",\r\n      textPlaceholder: \"텍스트 입력\",\r\n      inserttablebtn: \"테이블 삽입\",\r\n      tabledialogHeader: \"테이블 삽입\",\r\n      tableWidth: \"폭\",\r\n      cellpadding: \"세포 패딩\",\r\n      cellspacing: \"셀 간격\",\r\n      columns: \"열 수\",\r\n      rows: \"행 수\",\r\n      tableRows: \"열\",\r\n      tableColumns: \"열\",\r\n      tableCellHorizontalAlign: \"테이블 셀 가로 정렬\",\r\n      tableCellVerticalAlign: \"테이블 수직 정렬\",\r\n      createTable: \"테이블 만들기\",\r\n      removeTable: \"테이블 제거\",\r\n      tableHeader: \"헤더 행\",\r\n      tableRemove: \"테이블 삭제\",\r\n      tableCellBackground: \"테이블 셀 배경\",\r\n      tableEditProperties: \"테이블 편집 속성\",\r\n      styles: \"스타일\",\r\n      insertColumnLeft: \"왼쪽 열 삽입\",\r\n      insertColumnRight: \"열을 오른쪽으로 삽입\",\r\n      deleteColumn: \"열 삭제\",\r\n      insertRowBefore: \"앞에 행 삽입\",\r\n      insertRowAfter: \"뒤에 행 삽입\",\r\n      deleteRow: \"행 삭제\",\r\n      tableEditHeader: \"테이블 편집\",\r\n      TableHeadingText: \"표제\",\r\n      TableColText: \"안부\",\r\n      imageInsertLinkHeader: \"링크 삽입\",\r\n      editImageHeader: \"이미지 편집\",\r\n      alignmentsDropDownLeft: \"왼쪽 정렬\",\r\n      alignmentsDropDownCenter: \"가운데 맞춤\",\r\n      alignmentsDropDownRight: \"오른쪽 정렬\",\r\n      alignmentsDropDownJustify: \"정렬 정렬\",\r\n      imageDisplayDropDownInline: \"인라인\",\r\n      imageDisplayDropDownBreak: \"단절\",\r\n      audioLayoutOptionDropDownInline: \"인라인\",\r\n      audioLayoutOptionDropDownBreak: \"부서지다\",\r\n      videoLayoutOptionDropDownInline: \"인라인\",\r\n      videoLayoutOptionDropDownBreak: \"부서지다\",\r\n      tableInsertRowDropDownBefore: \"앞에 행 삽입\",\r\n      tableInsertRowDropDownAfter: \"뒤에 행 삽입\",\r\n      tableInsertRowDropDownDelete: \"행 삭제\",\r\n      tableInsertColumnDropDownLeft: \"왼쪽 열 삽입\",\r\n      tableInsertColumnDropDownRight: \"열을 오른쪽으로 삽입\",\r\n      tableInsertColumnDropDownDelete: \"열 삭제\",\r\n      tableVerticalAlignDropDownTop: \"상단 정렬\",\r\n      tableVerticalAlignDropDownMiddle: \"가운데 정렬\",\r\n      tableVerticalAlignDropDownBottom: \"하단 정렬\",\r\n      tableStylesDropDownDashedBorder: \"점선 테두리\",\r\n      tableStylesDropDownAlternateRows: \"대체 행\",\r\n      pasteFormat: \"붙여 넣기 형식\",\r\n      pasteFormatContent: \"포맷 작업을 선택하십시오\",\r\n      plainText: \"일반 텍스트\",\r\n      cleanFormat: \"깨끗한\",\r\n      keepFormat: \"유지\",\r\n      pasteDialogOk: \"확인\",\r\n      pasteDialogCancel: \"취소\",\r\n      fileManager: \"파일 관리자\",\r\n      fileDialogHeader: \"파일 탐색기\",\r\n      formatsDropDownParagraph: \"절\",\r\n      formatsDropDownCode: \"암호\",\r\n      formatsDropDownQuotation: \"인용\",\r\n      formatsDropDownHeading1: \"제목 1\",\r\n      formatsDropDownHeading2: \"제목 2\",\r\n      formatsDropDownHeading3: \"제목 3\",\r\n      formatsDropDownHeading4: \"제목 4\",\r\n      fontNameSegoeUI: \"SegoeUI\",\r\n      fontNameArial: \"Arial\",\r\n      fontNameGeorgia: \"Georgia\",\r\n      fontNameImpact: \"Impact\",\r\n      fontNameTahoma: \"Tahoma\",\r\n      fontNameTimesNewRoman: \"Times New Roman\",\r\n      fontNameVerdana: \"Verdana\",\r\n      formatsOLListNumber: \"번호\",\r\n      formatsOLListLowerAlpha: \"LowerAlpha\",\r\n      formatsOLListUpperAlpha: \"어퍼알파\",\r\n      formatsOLListLowerRoman: \"LowerRoman\",\r\n      formatsOLListUpperRoman: \"어퍼로만\",\r\n      formatsOLListLowerGreek: \"Lower그리스어\",\r\n      formatsULListDisc: \"디스크\",\r\n      formatsULListCircle: \"원\",\r\n      formatsULListSquare: \"광장\",\r\n      formatsOLListNone: \"없음\",\r\n      formatsULListNone: \"없음\",\r\n      formatPainter: \"포맷 페인터\",\r\n      emojiPicker: \"이모티콘 선택기\",\r\n      embeddedCode: \"임베디드 코드\",\r\n      pasteEmbeddedCodeHere: \"여기에 임베디드 코드 붙여넣기\",\r\n      emojiPickerTypeToFind: \"찾으려면 입력\",\r\n      emojiPickerNoResultFound: \"검색 결과가 없습니다\",\r\n      emojiPickerTrySomethingElse: \"다른 것을 시도하십시오\",\r\n      linkAriaLabel: \"새 창에서 열기\",\r\n      imageLinkAriaLabel: \"새 창에서 열기\",\r\n      unsupportedImage: \"지원되지 않는 파일 형식\",\r\n      mergecells: \"셀 병합\",\r\n      verticalsplit: \"수직 분할\",\r\n      horizontalsplit: \"수평 분할\",\r\n      numberFormatListLowerAlpha: \"낮은 알파\",\r\n      numberFormatListUpperAlpha: \"상위 알파\",\r\n      numberFormatListLowerRoman: \"로어 로마\",\r\n      numberFormatListUpperRoman: \"어퍼 로마\",\r\n      numberFormatListLowerGreek: \"하급그리스어\",\r\n      slashMenuItemHeadingOneText: \"제목 1\",\r\n      slashMenuItemHeadingOneDescription: \"최상위 제목이나 제목에 사용하세요.\",\r\n      slashMenuItemHeadingTwoText: \"제목 2\",\r\n      slashMenuItemHeadingTwoDescription: \"주요 섹션에 사용하세요.\",\r\n      slashMenuItemHeadingThreeText: \"제목 3\",\r\n      slashMenuItemHeadingThreeDescription:\r\n        \"하위 섹션과 그룹 제목에 사용하세요.\",\r\n      slashMenuItemHeadingFourText: \"제목 4\",\r\n      slashMenuItemHeadingFourDescription:\r\n        \"하위 주제의 핵심 사항에 사용하세요.\",\r\n      slashMenuItemParagraphText: \"절\",\r\n      slashMenuItemParagraphDescription: \"단락으로 쓰기.\",\r\n      slashMenuItemBlockquoteText: \"인용구\",\r\n      slashMenuItemBlockquoteDescription: \"인용문이나 인용문을 작성하세요.\",\r\n      slashMenuItemOrderedListText: \"정렬된 목록\",\r\n      slashMenuItemOrderedListDescription: \"정렬된 목록을 만듭니다.\",\r\n      slashMenuItemUnorderedListText: \"순서가 없는 목록\",\r\n      slashMenuItemUnorderedListDescription: \"순서가 없는 목록을 만듭니다.\",\r\n      slashMenuItemCodeText: \"코드블록\",\r\n      slashMenuItemCodeDescription: \"미리 형식화된 코드 블록을 만듭니다.\",\r\n      slashMenuItemTableText: \"테이블\",\r\n      slashMenuItemTableDescription: \"테이블을 삽입합니다.\",\r\n      slashMenuItemLinkText: \"링크\",\r\n      slashMenuItemLinkDescription: \"링크를 삽입하세요.\",\r\n      slashMenuItemImageText: \"영상\",\r\n      slashMenuItemImageDescription: \"이미지를 삽입하세요.\",\r\n      slashMenuItemAudioText: \"오디오\",\r\n      slashMenuItemAudioDescription: \"오디오를 삽입하세요.\",\r\n      slashMenuItemVideoText: \"동영상\",\r\n      slashMenuItemVideoDescription: \"동영상을 삽입하세요.\",\r\n      slashMenuItemEmojiText: \"이모티콘 선택기\",\r\n      slashMenuItemEmojiDescription:\r\n        \"이모티콘을 사용하여 아이디어와 이모티콘을 표현하세요.\",\r\n    },\r\n    colorpicker: {\r\n      Apply: \"대다\",\r\n      Cancel: \"취소\",\r\n      ModeSwitcher: \"스위치 모드\",\r\n      RecentColors: \"최근 색상\",\r\n    },\r\n    uploader: {\r\n      Browse: \"검색...\",\r\n      Clear: \"명확한\",\r\n      Upload: \"업로드\",\r\n      dropFilesHint: \"아니면 여기에 파일을 드롭\",\r\n      invalidMaxFileSize: \"파일 크기가 너무 큽니다\",\r\n      invalidMinFileSize: \"파일 크기가 너무 작습니다\",\r\n      invalidFileType: \"파일 형식이 허용되지 않습니다\",\r\n      uploadFailedMessage: \"파일을 업로드하지 못했습니다\",\r\n      uploadSuccessMessage: \"파일이 성공적으로 업로드되었습니다\",\r\n      removedSuccessMessage: \"파일이 성공적으로 제거되었습니다\",\r\n      removedFailedMessage: \"파일을 제거 할 수 없습니다\",\r\n      inProgress: \"업로드 중\",\r\n      readyToUploadMessage: \"업로드 준비 완료\",\r\n      abort: \"중단\",\r\n      remove: \"없애다\",\r\n      cancel: \"취소\",\r\n      delete: \"파일 삭제\",\r\n      pauseUpload: \"파일 업로드 일시 중지\",\r\n      pause: \"중지\",\r\n      resume: \"이력서\",\r\n      retry: \"다시 해 보다\",\r\n      fileUploadCancel: \"파일 업로드가 취소되었습니다\",\r\n    },\r\n    numerictextbox: {\r\n      incrementTitle: \"증가 가치\",\r\n      decrementTitle: \"가치 감소\",\r\n    },\r\n    slider: {\r\n      incrementTitle: \"증가하다\",\r\n      decrementTitle: \"감소\",\r\n    },\r\n    formValidator: {\r\n      required: \"이 필드는 필수입니다.\",\r\n      email: \"유효한 이메일 주소를 입력하세요.\",\r\n      url: \"유효한 URL을 입력 해주세요.\",\r\n      date: \"유효한 날짜를 입력하십시오.\",\r\n      dateIso: \"유효한 날짜를 입력하십시오 (ISO).\",\r\n      creditcard: \"유효한 카드 번호를 입력하십시오\",\r\n      number: \"유효한 숫자를 입력하십시오.\",\r\n      digits: \"숫자 만 입력하십시오.\",\r\n      maxLength: \"{0}자를 초과하지 마십시오.\",\r\n      minLength: \"{0} 자 이상을 입력하십시오.\",\r\n      rangeLength: \"{0}에서 {1} 자 사이의 값을 입력하십시오.\",\r\n      range: \"{0}에서 {1} 사이의 값을 입력하십시오.\",\r\n      max: \"{0}보다 작거나 같은 값을 입력하십시오.\",\r\n      min: \"{0} 이상의 값을 입력하십시오.\",\r\n      regex: \"올바른 값을 입력하십시오.\",\r\n      tel: \"유효한 전화 번호를 입력하세요.\",\r\n      pattern: \"올바른 패턴 값을 입력하십시오.\",\r\n      equalTo: \"유효한 일치 텍스트를 입력하십시오\",\r\n    },\r\n    treegrid: {\r\n      Above: \"위\",\r\n      Below: \"이하\",\r\n      AddRow: \"행 추가\",\r\n      ExpandAll: \"모두 확장\",\r\n      CollapseAll: \"모든 축소\",\r\n    },\r\n    querybuilder: {\r\n      StartsWith: \"로 시작\",\r\n      EndsWith: \"로 끝나다\",\r\n      Contains: \"포함\",\r\n      NotLike: \"포함\",\r\n      Like: \"같지 않은\",\r\n      Equal: \"같은\",\r\n      NotEqual: \"같지 않음\",\r\n      LessThan: \"보다 작음\",\r\n      LessThanOrEqual: \"작거나 같음\",\r\n      GreaterThan: \"보다 큰\",\r\n      GreaterThanOrEqual: \"크거나 같음\",\r\n      Between: \"중에서\",\r\n      NotBetween: \"사이가 아님\",\r\n      Empty: \"빈\",\r\n      NotEmpty: \"비우지 않음\",\r\n      In: \"에\",\r\n      NotIn: \"안으로\",\r\n      NotContains: \"포함하지 않음\",\r\n      Remove: \"없애다\",\r\n      SelectField: \"필드를 선택하십시오\",\r\n      SelectOperator: \"운영자 선택\",\r\n      DeleteRule: \"이 조건을 제거하십시오\",\r\n      DeleteGroup: \"그룹 삭제\",\r\n      AddGroup: \"그룹 추가\",\r\n      AddCondition: \"조건 추가\",\r\n      Edit: \"편집하다\",\r\n      ValidationMessage: \"이 필드는 필수입니다\",\r\n      SummaryViewTitle: \"요약보기\",\r\n      OtherFields: \"다른 분야\",\r\n      AND: \"과\",\r\n      OR: \"또는\",\r\n      SelectValue: \"값을 입력하십시오\",\r\n      IsEmpty: \"비었다\",\r\n      IsNotEmpty: \"비어 있지 않음\",\r\n      IsNull: \"Null\",\r\n      IsNotNull: \"Null이 아님\",\r\n      True: \"진실\",\r\n      False: \"그릇된\",\r\n      DoesNotStartWith: \"다음으로 시작하지 않음\",\r\n      DoesNotEndWith: \"다음으로 끝나지 않음\",\r\n      DoesNotContain: \"포함되어 있지 않다\",\r\n      AddButton: \"그룹/조건 추가\",\r\n      CloneGroup: \"클론 그룹\",\r\n      LockGroup: \"잠금 그룹\",\r\n      CloneRule: \"복제 규칙\",\r\n      LockRule: \"잠금 규칙\",\r\n      UnlockRule: \"잠금 해제 규칙\",\r\n      UnlockGroup: \"그룹 잠금 해제\",\r\n    },\r\n    barcode: {},\r\n    datamatrix: {},\r\n    qrcode: {},\r\n    pivotview: {\r\n      applyToGrandTotal: \"총계에 적용\",\r\n      grandTotal: \"총계\",\r\n      total: \"합계\",\r\n      value: \"값\",\r\n      noValue: \"가치 없음\",\r\n      row: \"열\",\r\n      column: \"기둥\",\r\n      collapse: \"무너짐\",\r\n      expand: \"넓히다\",\r\n      rowAxisPrompt: \"여기에 행을 놓으십시오\",\r\n      columnAxisPrompt: \"여기에 열을 놓으십시오\",\r\n      valueAxisPrompt: \"여기에 가치를 떨어 뜨리십시오\",\r\n      filterAxisPrompt: \"필터를 여기에 놓으십시오\",\r\n      filter: \"필터\",\r\n      filtered: \"거르는\",\r\n      sort: \"종류\",\r\n      filters: \"필터\",\r\n      rows: \"행\",\r\n      columns: \"열\",\r\n      values: \"가치\",\r\n      close: \"닫기\",\r\n      cancel: \"취소\",\r\n      delete: \"지우다\",\r\n      CalculatedField: \"계산 된 필드\",\r\n      createCalculatedField: \"계산 된 필드 만들기\",\r\n      fieldName: \"필드 이름을 입력하십시오\",\r\n      error: \"오류\",\r\n      invalidFormula: \"잘못된 수식입니다.\",\r\n      dropText: \"예 : ( 'Sum (Order_Count)'+ 'Sum (In_Stock)') * 250\",\r\n      dropTextMobile: \"여기에서 필드를 추가하고 수식을 편집하십시오.\",\r\n      dropAction:\r\n        \"계산 된 필드는 값 축을 제외한 다른 영역에 배치 할 수 없습니다.\",\r\n      alert: \"경보\",\r\n      warning: \"경고\",\r\n      ok: \"확인\",\r\n      search: \"검색\",\r\n      drag: \"견인\",\r\n      remove: \"없애다\",\r\n      allFields: \"모든 분야\",\r\n      formula: \"공식\",\r\n      addToRow: \"행에 추가\",\r\n      addToColumn: \"열에 추가\",\r\n      addToValue: \"가치에 추가\",\r\n      addToFilter: \"필터에 추가\",\r\n      emptyData: \"표시 할 레코드가 없습니다\",\r\n      fieldExist: \"이 이름에 필드가 이미 존재합니다. 다른 이름을 입력하십시오.\",\r\n      confirmText: \"이 이름에는 이미 계산 필드가 있습니다. 교체 하시겠습니까?\",\r\n      noMatches: \"맞지 않는다\",\r\n      format: \"다음에 의해 요약 된 값\",\r\n      edit: \"편집하다\",\r\n      clear: \"명확한\",\r\n      formulaField: \"필드를 수식으로 끌어서 놓기\",\r\n      dragField: \"필드를 수식으로 드래그\",\r\n      clearFilter: \"명확한\",\r\n      by: \"으로\",\r\n      all: \"모두\",\r\n      multipleItems: \"여러 항목\",\r\n      member: \"회원\",\r\n      label: \"상표\",\r\n      date: \"데이트\",\r\n      enterValue: \"값을 입력하십시오\",\r\n      chooseDate: \"날짜 입력\",\r\n      Before: \"전에\",\r\n      BeforeOrEqualTo: \"전에 또는 같음\",\r\n      After: \"후\",\r\n      AfterOrEqualTo: \"후 또는 같음\",\r\n      labelTextContent: \"레이블이있는 항목 표시\",\r\n      dateTextContent: \"날짜가있는 항목 표시\",\r\n      valueTextContent: \"대상 품목 표시\",\r\n      Equals: \"같음\",\r\n      DoesNotEquals: \"같지 않다\",\r\n      BeginWith: \"로 시작\",\r\n      DoesNotBeginWith: \"로 시작하지 않는다\",\r\n      EndsWith: \"로 끝나다\",\r\n      DoesNotEndsWith: \"끝나지 않는다\",\r\n      Contains: \"포함\",\r\n      DoesNotContains: \"포함되어 있지 않다\",\r\n      GreaterThan: \"보다 큰\",\r\n      GreaterThanOrEqualTo: \"보다 크거나 같음\",\r\n      LessThan: \"보다 작음\",\r\n      LessThanOrEqualTo: \"작거나 같음\",\r\n      Between: \"중에서\",\r\n      NotBetween: \"사이가 아님\",\r\n      And: \"과\",\r\n      Sum: \"합집합\",\r\n      Count: \"카운트\",\r\n      DistinctCount: \"고유 카운트\",\r\n      Product: \"생성물\",\r\n      Avg: \"평균\",\r\n      Min: \"최소\",\r\n      SampleVar: \"샘플 바\",\r\n      PopulationVar: \"인구 Var\",\r\n      RunningTotals: \"누적 합계\",\r\n      Max: \"맥스\",\r\n      Index: \"인덱스\",\r\n      SampleStDev: \"샘플 StDev\",\r\n      PopulationStDev: \"세인트 데브 인구\",\r\n      PercentageOfRowTotal: \"행 총계의 %\",\r\n      PercentageOfParentTotal: \"부모 합계의 %\",\r\n      PercentageOfParentColumnTotal: \"상위 열 총계의 %\",\r\n      PercentageOfParentRowTotal: \"부모 행 총계의 %\",\r\n      DifferenceFrom: \"와의 차이점\",\r\n      PercentageOfDifferenceFrom: \"차이의 %\",\r\n      PercentageOfGrandTotal: \"총계의 %\",\r\n      PercentageOfColumnTotal: \"열 합계의 %\",\r\n      NotEquals: \"같지 않음\",\r\n      AllValues: \"모든 가치\",\r\n      conditionalFormatting: \"조건부 서식\",\r\n      apply: \"대다\",\r\n      condition: \"조건 추가\",\r\n      formatLabel: \"체재\",\r\n      valueFieldSettings: \"값 필드 설정\",\r\n      baseField: \"기본 필드 :\",\r\n      baseItem: \"기본 아이템 :\",\r\n      summarizeValuesBy: \"다음과 같이 값을 요약하십시오.\",\r\n      sourceName: \"분야 명 :\",\r\n      sourceCaption: \"필드 캡션 :\",\r\n      example: \"예 :\",\r\n      editorDataLimitMsg: \" 더 많은 아이템. 더 세분화하려면 검색하십시오.\",\r\n      details: \"세부\",\r\n      manageRecords: \"기록 관리\",\r\n      Years: \"연령\",\r\n      Quarters: \"병사\",\r\n      Months: \"개월\",\r\n      Days: \"일\",\r\n      Hours: \"시간\",\r\n      Minutes: \"의사록\",\r\n      Seconds: \"초\",\r\n      save: \"보고서 저장\",\r\n      new: \"새 보고서 작성\",\r\n      load: \"하중\",\r\n      saveAs: \"현재 보고서로 저장\",\r\n      rename: \"현재 보고서 이름 바꾸기\",\r\n      deleteReport: \"현재 보고서 삭제\",\r\n      export: \"수출\",\r\n      subTotals: \"소계\",\r\n      grandTotals: \"총계\",\r\n      reportName: \"보고서 이름 :\",\r\n      pdf: \"PDF\",\r\n      excel: \"뛰어나다\",\r\n      csv: \"CSV\",\r\n      png: \"PNG\",\r\n      jpeg: \"JPEG\",\r\n      svg: \"SVG\",\r\n      mdxQuery: \"MDX 쿼리\",\r\n      showSubTotals: \"소계 표시\",\r\n      doNotShowSubTotals: \"소계를 표시하지 않음\",\r\n      showSubTotalsRowsOnly: \"부분 합계 행만 표시\",\r\n      showSubTotalsColumnsOnly: \"부분 합계 열만 표시\",\r\n      showGrandTotals: \"총계 표시\",\r\n      doNotShowGrandTotals: \"총계 표시 안함\",\r\n      showGrandTotalsRowsOnly: \"총계 행만 표시\",\r\n      showGrandTotalsColumnsOnly: \"총계 열만 표시\",\r\n      fieldList: \"필드리스트 표시\",\r\n      grid: \"테이블 표시\",\r\n      toolbarFormatting: \"조건부 서식\",\r\n      chart: \"차트\",\r\n      reportMsg: \"제공되는 보고서 이름을 입력하십시오 !!!\",\r\n      reportList: \"리포트리스트\",\r\n      removeConfirm: \"이 보고서를 삭제 하시겠습니까?\",\r\n      emptyReport: \"보고서가 없습니다 !!\",\r\n      bar: \"바\",\r\n      line: \"선\",\r\n      area: \"지역\",\r\n      scatter: \"흩어지게하다\",\r\n      polar: \"극선\",\r\n      of: \"의\",\r\n      emptyFormat: \"형식을 찾을 수 없습니다 !!!\",\r\n      emptyInput: \"값을 입력하십시오\",\r\n      newReportConfirm: \"변경 사항을 보고서에 저장 하시겠습니까?\",\r\n      emptyReportName: \"보고서 이름을 입력하십시오\",\r\n      qtr: \"Qtr\",\r\n      null: \"없는\",\r\n      undefined: \"찾으시는 주소가 없습니다\",\r\n      groupOutOfRange: \"범위를 벗어남\",\r\n      fieldDropErrorAction:\r\n        \"이동중인 필드를 보고서의 해당 영역에 배치 할 수 없습니다\",\r\n      MoreOption: \"더...\",\r\n      aggregate: \"골재\",\r\n      drillThrough: \"드릴 스루\",\r\n      ascending: \"오름차순\",\r\n      descending: \"내림차순\",\r\n      number: \"번호\",\r\n      currency: \"통화\",\r\n      percentage: \"백분율\",\r\n      formatType: \"체재 유형\",\r\n      customText: \"통화 기호\",\r\n      symbolPosition: \"심볼 위치\",\r\n      left: \"왼쪽\",\r\n      right: \"권리\",\r\n      grouping: \"그룹화\",\r\n      true: \"진실\",\r\n      false: \"그릇된\",\r\n      decimalPlaces: \"소수 자릿수\",\r\n      numberFormat: \"숫자 서식\",\r\n      memberType: \"필드 타입\",\r\n      formatString: \"형식 문자열\",\r\n      expressionField: \"표현\",\r\n      customFormat: \"맞춤 형식 문자열을 입력하세요\",\r\n      selectedHierarchy: \"부모 계층\",\r\n      olapDropText: \"예 : [측정]. [주문 수량] + ([측정]. [주문 수량] * 0.10)\",\r\n      Percent: \"퍼센트\",\r\n      Custom: \"커스텀\",\r\n      Measure: \"법안\",\r\n      Dimension: \"치수\",\r\n      Standard: \"표준\",\r\n      blank: \"(공백)\",\r\n      fieldTooltip:\r\n        \"필드를 끌어서 놓아 식을 만듭니다. 그리고 기존 계산 필드를 편집하려면! 그런 다음 '계산 된 멤버'아래의 필드를 선택하면됩니다.\",\r\n      QuarterYear: \"분기 년\",\r\n      fieldTitle: \"분야 명\",\r\n      drillError: \"계산 된 필드의 원시 항목을 표시 할 수 없습니다.\",\r\n      caption: \"필드 캡션\",\r\n      copy: \"부\",\r\n      defaultReport: \"기본 보고서\",\r\n      customFormatString: \"맞춤 형식\",\r\n      invalidFormat: \"잘못된 형식입니다.\",\r\n      group: \"그룹\",\r\n      unGroup: \"그룹 해제\",\r\n      invalidSelection: \"해당 선택을 그룹화 할 수 없습니다.\",\r\n      groupName: \"머리글에 표시 할 캡션을 입력하십시오.\",\r\n      captionName: \"그룹 캡션을 입력하십시오\",\r\n      selectedItems: \"선택된 아이템\",\r\n      groupFieldCaption: \"필드 캡션\",\r\n      groupTitle: \"그룹 이름\",\r\n      startAt: \"에서 시작\",\r\n      endAt: \"에 끝나는\",\r\n      groupBy: \"간격\",\r\n      selectGroup: \"그룹 선택\",\r\n      numberFormatString: \"예 : C, P, 0000 %, ### 0. ## 0 # 등\",\r\n      stackingcolumn: \"누적 열\",\r\n      stackingbar: \"누적 막대\",\r\n      stackingarea: \"누적 영역\",\r\n      stepline: \"스텝 라인\",\r\n      steparea: \"단계 영역\",\r\n      splinearea: \"스플라인 영역\",\r\n      spline: \"운형자\",\r\n      stackingcolumn100: \"100 % 누적 컬럼\",\r\n      stackingbar100: \"100 % 누적 막대\",\r\n      stackingarea100: \"100 % 누적 영역\",\r\n      bubble: \"거품\",\r\n      pareto: \"파레토\",\r\n      radar: \"레이더\",\r\n      chartTypeSettings: \"차트 유형 설정\",\r\n      multipleAxes: \"여러 도끼\",\r\n      sortAscending: \"오름차순 정렬\",\r\n      sortDescending: \"내림차순 정렬\",\r\n      sortNone: \"데이터 순서 정렬\",\r\n      clearCalculatedField: \"편집 된 필드 정보 지우기\",\r\n      editCalculatedField: \"계산 된 필드 편집\",\r\n      ChartType: \"차트 종류\",\r\n      yes: \"예\",\r\n      no: \"아니\",\r\n      numberFormatMenu: \"숫자 서식 ...\",\r\n      conditionalFormattingMenu: \"조건부 서식...\",\r\n      removeCalculatedField: \"이 계산 된 필드를 삭제 하시겠습니까?\",\r\n      replaceConfirmBefore: \"명명 된 보고서\",\r\n      replaceConfirmAfter: \" 이미 존재 함. 교체 하시겠습니까?\",\r\n      pie: \"파이\",\r\n      funnel: \"깔때기\",\r\n      doughnut: \"도넛\",\r\n      pyramid: \"피라미드\",\r\n      showLegend: \"범례 표시\",\r\n      exit: \"출구\",\r\n      invalidJSON: \"잘못된 JSON 데이터\",\r\n      invalidCSV: \"잘못된 CSV 데이터\",\r\n      stacked: \"스택\",\r\n      single: \"단일\",\r\n      multipleAxisMode: \"다축 모드\",\r\n      grandTotalPosition: \"총계 위치\",\r\n      top: \"맨 위\",\r\n      bottom: \"맨 아래\",\r\n      None: \"없음\",\r\n      stackingline: \"누적 라인\",\r\n      stackingline100: \"100 % 누적 라인\",\r\n      rowPage: \"행 호출기\",\r\n      rowPerPage: \"페이지당 행\",\r\n      columnPage: \"열 호출기\",\r\n      columnPerPage: \"페이지당 열\",\r\n      goToFirstPage: \"첫 페이지로 이동\",\r\n      goToPreviousPage: \"이전 페이지로 이동\",\r\n      goToNextPage: \"다음 페이지로 이동\",\r\n      goToLastPage: \"마지막 페이지로 이동\",\r\n      combined: \"결합\",\r\n      subTotalPosition: \"소계 위치\",\r\n      auto: \"자동\",\r\n      loading: \"로드 중...\",\r\n      add: \"추가하다\",\r\n    },\r\n    pivotfieldlist: {\r\n      staticFieldList: \"피벗 필드 목록\",\r\n      fieldList: \"필드리스트\",\r\n      dropFilterPrompt: \"필터를 여기에 놓으십시오\",\r\n      dropColPrompt: \"여기에 열을 놓으십시오\",\r\n      dropRowPrompt: \"여기에 행을 놓으십시오\",\r\n      dropValPrompt: \"여기에 가치를 떨어 뜨리십시오\",\r\n      addPrompt: \"여기에 필드 추가\",\r\n      adaptiveFieldHeader: \"필드를 선택하십시오\",\r\n      centerHeader: \"아래의 축 사이에서 필드를 드래그하십시오.\",\r\n      add: \"더하다\",\r\n      drag: \"견인\",\r\n      filter: \"필터\",\r\n      filtered: \"거르는\",\r\n      sort: \"종류\",\r\n      remove: \"없애다\",\r\n      filters: \"필터\",\r\n      rows: \"행\",\r\n      columns: \"열\",\r\n      values: \"가치\",\r\n      CalculatedField: \"계산 된 필드\",\r\n      createCalculatedField: \"계산 된 필드 만들기\",\r\n      fieldName: \"필드 이름을 입력하십시오\",\r\n      error: \"오류\",\r\n      invalidFormula: \"잘못된 수식입니다.\",\r\n      dropText: \"예 : ( 'Sum (Order_Count)'+ 'Sum (In_Stock)' ') * 250\",\r\n      dropTextMobile: \"여기에서 필드를 추가하고 수식을 편집하십시오.\",\r\n      dropAction:\r\n        \"계산 된 필드는 값 축을 제외한 다른 영역에 배치 할 수 없습니다.\",\r\n      search: \"검색\",\r\n      close: \"닫기\",\r\n      cancel: \"취소\",\r\n      delete: \"지우다\",\r\n      alert: \"경보\",\r\n      warning: \"경고\",\r\n      ok: \"확인\",\r\n      allFields: \"모든 분야\",\r\n      formula: \"공식\",\r\n      fieldExist: \"이 이름에 필드가 이미 존재합니다. 다른 이름을 입력하십시오.\",\r\n      confirmText: \"이 이름에는 이미 계산 필드가 있습니다. 교체 하시겠습니까?\",\r\n      noMatches: \"맞지 않는다\",\r\n      format: \"다음에 의해 요약 된 값\",\r\n      edit: \"편집하다\",\r\n      clear: \"명확한\",\r\n      formulaField: \"필드를 수식으로 끌어서 놓기\",\r\n      dragField: \"필드를 수식으로 드래그\",\r\n      clearFilter: \"명확한\",\r\n      by: \"으로\",\r\n      enterValue: \"값을 입력하십시오\",\r\n      chooseDate: \"날짜 입력\",\r\n      all: \"모두\",\r\n      multipleItems: \"여러 항목\",\r\n      Equals: \"같음\",\r\n      DoesNotEquals: \"같지 않다\",\r\n      BeginWith: \"로 시작\",\r\n      DoesNotBeginWith: \"로 시작하지 않는다\",\r\n      EndsWith: \"로 끝나다\",\r\n      DoesNotEndsWith: \"끝나지 않는다\",\r\n      Contains: \"포함\",\r\n      DoesNotContains: \"포함되어 있지 않다\",\r\n      GreaterThan: \"보다 큰\",\r\n      GreaterThanOrEqualTo: \"보다 크거나 같음\",\r\n      LessThan: \"보다 작음\",\r\n      LessThanOrEqualTo: \"작거나 같음\",\r\n      Between: \"중에서\",\r\n      NotBetween: \"사이가 아님\",\r\n      Before: \"전에\",\r\n      BeforeOrEqualTo: \"전에 또는 같음\",\r\n      After: \"후\",\r\n      AfterOrEqualTo: \"후 또는 같음\",\r\n      member: \"회원\",\r\n      label: \"상표\",\r\n      date: \"데이트\",\r\n      value: \"값\",\r\n      labelTextContent: \"레이블이있는 항목 표시\",\r\n      dateTextContent: \"날짜가있는 항목 표시\",\r\n      valueTextContent: \"대상 품목 표시\",\r\n      And: \"과\",\r\n      Sum: \"합집합\",\r\n      Count: \"카운트\",\r\n      DistinctCount: \"고유 카운트\",\r\n      Product: \"생성물\",\r\n      Avg: \"평균\",\r\n      Min: \"최소\",\r\n      Max: \"맥스\",\r\n      Index: \"인덱스\",\r\n      SampleStDev: \"샘플 StDev\",\r\n      PopulationStDev: \"세인트 데브 인구\",\r\n      SampleVar: \"샘플 바\",\r\n      PopulationVar: \"인구 Var\",\r\n      RunningTotals: \"누적 합계\",\r\n      DifferenceFrom: \"와의 차이점\",\r\n      PercentageOfDifferenceFrom: \"차이의 %\",\r\n      PercentageOfGrandTotal: \"총계의 %\",\r\n      PercentageOfColumnTotal: \"열 합계의 %\",\r\n      PercentageOfRowTotal: \"행 총계의 %\",\r\n      PercentageOfParentTotal: \"부모 합계의 %\",\r\n      PercentageOfParentColumnTotal: \"상위 열 총계의 %\",\r\n      PercentageOfParentRowTotal: \"부모 행 총계의 %\",\r\n      Years: \"연령\",\r\n      Quarters: \"병사\",\r\n      Months: \"개월\",\r\n      Days: \"일\",\r\n      Hours: \"시간\",\r\n      Minutes: \"의사록\",\r\n      Seconds: \"초\",\r\n      apply: \"대다\",\r\n      valueFieldSettings: \"값 필드 설정\",\r\n      sourceName: \"분야 명 :\",\r\n      sourceCaption: \"필드 캡션 :\",\r\n      summarizeValuesBy: \"다음과 같이 값을 요약하십시오.\",\r\n      baseField: \"기본 필드 :\",\r\n      baseItem: \"기본 아이템 :\",\r\n      example: \"예 :\",\r\n      editorDataLimitMsg: \" 더 많은 아이템. 더 세분화하려면 검색하십시오.\",\r\n      deferLayoutUpdate: \"레이아웃 업데이트 연기\",\r\n      null: \"없는\",\r\n      undefined: \"찾으시는 주소가 없습니다\",\r\n      groupOutOfRange: \"범위를 벗어남\",\r\n      fieldDropErrorAction:\r\n        \"이동중인 필드를 보고서의 해당 영역에 배치 할 수 없습니다\",\r\n      MoreOption: \"더...\",\r\n      memberType: \"필드 타입\",\r\n      selectedHierarchy: \"부모 계층\",\r\n      formatString: \"형식 문자열\",\r\n      expressionField: \"표현\",\r\n      olapDropText: \"예 : [측정]. [주문 수량] + ([측정]. [주문 수량] * 0.10)\",\r\n      customFormat: \"맞춤 형식 문자열을 입력하세요\",\r\n      Measure: \"법안\",\r\n      Dimension: \"치수\",\r\n      Standard: \"표준\",\r\n      Currency: \"통화\",\r\n      Percent: \"퍼센트\",\r\n      Custom: \"커스텀\",\r\n      blank: \"(공백)\",\r\n      fieldTooltip:\r\n        \"필드를 끌어서 놓아 식을 만듭니다. 그리고 기존 계산 필드를 편집하려면! '계산 된 멤버'아래의 필드를 선택하면됩니다.\",\r\n      fieldTitle: \"분야 명\",\r\n      QuarterYear: \"분기 년\",\r\n      caption: \"필드 캡션\",\r\n      copy: \"부\",\r\n      group: \"그룹\",\r\n      numberFormatString: \"예 : C, P, 0000 %, ### 0. ## 0 # 등\",\r\n      sortAscending: \"오름차순 정렬\",\r\n      sortDescending: \"내림차순 정렬\",\r\n      sortNone: \"데이터 순서 정렬\",\r\n      clearCalculatedField: \"편집 된 필드 정보 지우기\",\r\n      editCalculatedField: \"계산 된 필드 편집\",\r\n      selectGroup: \"그룹 선택\",\r\n      of: \"의\",\r\n      removeCalculatedField: \"이 계산 된 필드를 삭제 하시겠습니까?\",\r\n      yes: \"예\",\r\n      no: \"아니\",\r\n      None: \"없음\",\r\n    },\r\n    pdfviewer: {\r\n      PdfViewer: \"PDF 뷰어\",\r\n      Cancel: \"취소\",\r\n      \"Download file\": \"파일 다운로드\",\r\n      Download: \"다운로드\",\r\n      \"Enter Password\":\r\n        \"이 문서는 암호로 보호되어 있습니다. 비밀번호를 입력하십시오.\",\r\n      \"File Corrupted\": \"손상된 파일\",\r\n      \"File Corrupted Content\": \"파일이 손상되어 열 수 없습니다.\",\r\n      \"Fit Page\": \"페이지 맞추기\",\r\n      \"Fit Width\": \"너비에 맞게\",\r\n      Automatic: \"자동적 인\",\r\n      \"Go To First Page\": \"첫 페이지 표시\",\r\n      \"Invalid Password\": \"잘못된 비밀번호. 다시 시도하십시오.\",\r\n      \"Next Page\": \"다음 페이지 표시\",\r\n      OK: \"확인\",\r\n      Open: \"파일 열기\",\r\n      \"Page Number\": \"현재 페이지 번호\",\r\n      \"Previous Page\": \"이전 페이지 표시\",\r\n      \"Go To Last Page\": \"마지막 페이지 표시\",\r\n      Zoom: \"줌\",\r\n      \"Zoom In\": \"확대\",\r\n      \"Zoom Out\": \"축소\",\r\n      \"Page Thumbnails\": \"페이지 축소판\",\r\n      Bookmarks: \"북마크\",\r\n      Print: \"파일 인쇄\",\r\n      \"Password Protected\": \"암호 필요\",\r\n      Copy: \"부\",\r\n      \"Text Selection\": \"텍스트 선택 도구\",\r\n      Panning: \"팬 모드\",\r\n      \"Text Search\": \"텍스트 찾기\",\r\n      \"Find in document\": \"문서에서 찾기\",\r\n      \"Match case\": \"경기 사례\",\r\n      Apply: \"대다\",\r\n      GoToPage: \"페이지로 이동\",\r\n      \"No matches\":\r\n        \"뷰어가 문서 검색을 완료했습니다. 더 이상 일치하는 항목이 없습니다\",\r\n      \"No Text Found\": \"텍스트를 찾을 수 없습니다\",\r\n      Undo: \"실행 취소\",\r\n      Redo: \"다시 하다\",\r\n      Annotation: \"주석 추가 또는 편집\",\r\n      Highlight: \"텍스트 강조\",\r\n      Underline: \"밑줄 텍스트\",\r\n      Strikethrough: \"취소 선 텍스트\",\r\n      Delete: \"주석 삭제\",\r\n      Opacity: \"불투명\",\r\n      \"Color edit\": \"색 변경\",\r\n      \"Opacity edit\": \"불투명도 변경\",\r\n      \"Highlight context\": \"가장 밝은 부분\",\r\n      \"Underline context\": \"밑줄\",\r\n      \"Strikethrough context\": \"파업\",\r\n      \"Server error\":\r\n        \"웹 서비스가 듣고 있지 않습니다. PDF 뷰어는 모든 기능을 웹 서비스에 의존합니다. 계속하려면 웹 서비스를 시작하십시오.\",\r\n      \"Open text\": \"열다\",\r\n      \"First text\": \"첫 페이지\",\r\n      \"Previous text\": \"이전 페이지\",\r\n      \"Next text\": \"다음 페이지\",\r\n      \"Last text\": \"마지막 페이지\",\r\n      \"Zoom in text\": \"확대\",\r\n      \"Zoom out text\": \"축소\",\r\n      \"Selection text\": \"선택\",\r\n      \"Pan text\": \"팬\",\r\n      \"Print text\": \"인쇄\",\r\n      \"Search text\": \"검색\",\r\n      \"Annotation Edit text\": \"주석 편집\",\r\n      \"Line Thickness\": \"선 두께\",\r\n      \"Line Properties\": \"선 속성\",\r\n      \"Start Arrow\": \"시작 화살표\",\r\n      \"End Arrow\": \"끝 화살표\",\r\n      \"Line Style\": \"선 스타일\",\r\n      \"Fill Color\": \"채우기 색상\",\r\n      \"Line Color\": \"선 색\",\r\n      None: \"없음\",\r\n      \"Open Arrow\": \"열다\",\r\n      \"Closed Arrow\": \"닫은\",\r\n      \"Round Arrow\": \"일주\",\r\n      \"Square Arrow\": \"광장\",\r\n      \"Diamond Arrow\": \"다이아몬드\",\r\n      Butt: \"대상\",\r\n      Cut: \"절단\",\r\n      Paste: \"풀\",\r\n      \"Delete Context\": \"지우다\",\r\n      Properties: \"속성\",\r\n      \"Add Stamp\": \"스탬프 추가\",\r\n      \"Add Shapes\": \"도형 추가\",\r\n      \"Stroke edit\": \"획 색상 변경\",\r\n      \"Change thickness\": \"테두리 두께 변경\",\r\n      \"Add line\": \"라인 추가\",\r\n      \"Add arrow\": \"화살표 추가\",\r\n      \"Add rectangle\": \"사각형 추가\",\r\n      \"Add circle\": \"서클 추가\",\r\n      \"Add polygon\": \"다각형 추가\",\r\n      \"Add Comments\": \"의견 추가\",\r\n      Comments: \"코멘트\",\r\n      \"No Comments Yet\": \"아직 코멘트가 없습니다\",\r\n      Accepted: \"받아 들여\",\r\n      Completed: \"완료\",\r\n      Cancelled: \"취소 된\",\r\n      Rejected: \"거부\",\r\n      \"Leader Length\": \"리더 길이\",\r\n      \"Scale Ratio\": \"스케일 비율\",\r\n      Calibrate: \"교정\",\r\n      \"Calibrate Distance\": \"거리 보정\",\r\n      \"Calibrate Perimeter\": \"주변 보정\",\r\n      \"Calibrate Area\": \"면적 교정\",\r\n      \"Calibrate Radius\": \"반경 보정\",\r\n      \"Calibrate Volume\": \"볼륨 보정\",\r\n      highlight: \"가장 밝은 부분\",\r\n      underline: \"밑줄\",\r\n      strikethrough: \"스트라이크 스루\",\r\n      \"Seach text\": \"검색\",\r\n      FormDesigner: \"양식 필드 추가 및 편집\",\r\n      \"Client error\":\r\n        \"클라이언트 측 오류가 발견되었습니다. AjaxRequestSettings 속성에서 제공되는 커스텀 헤더와 ServerActionSettings 속성에서 웹 액션 메소드를 확인하세요.\",\r\n      \"FormDesigner Edit text\": \"양식 필드 추가 및 편집\",\r\n      SubmitForm: \"양식 제출\",\r\n      Depth: \"깊이\",\r\n      Closed: \"닫은\",\r\n      Round: \"일주\",\r\n      Square: \"광장\",\r\n      Diamond: \"다이아몬드\",\r\n      Edit: \"편집하다\",\r\n      Comment: \"논평\",\r\n      \"Comment Panel\": \"댓글 패널\",\r\n      \"Set Status\": \"상태 설정\",\r\n      Post: \"게시하다\",\r\n      Page: \"페이지\",\r\n      \"Add a comment\": \"코멘트를 추가하다\",\r\n      \"Add a reply\": \"답글 추가\",\r\n      \"Import Annotations\": \"JSON 파일에서 주석 가져 오기\",\r\n      \"Export Annotations\": \"주석을 JSON 파일로 내보내기\",\r\n      \"Export XFDF\": \"XFDF 파일로 주석 내보내기\",\r\n      \"Import XFDF\": \"XFDF 파일에서 주석 가져 오기\",\r\n      Add: \"더하다\",\r\n      Clear: \"맑은\",\r\n      Bold: \"굵게\",\r\n      Italic: \"이탤릭체\",\r\n      Strikethroughs: \"취소 선\",\r\n      Underlines: \"밑줄\",\r\n      Superscript: \"위에 쓴\",\r\n      Subscript: \"아래 첨자\",\r\n      \"Align left\": \"왼쪽 정렬\",\r\n      \"Align right\": \"오른쪽 정렬\",\r\n      Center: \"센터\",\r\n      Justify: \"신이 옳다고 하다\",\r\n      \"Font color\": \"글자 색\",\r\n      \"Text Align\": \"텍스트 정렬\",\r\n      \"Text Properties\": \"글꼴 스타일\",\r\n      SignatureFieldDialogHeaderText: \"서명 추가\",\r\n      HandwrittenSignatureDialogHeaderText: \"서명 추가\",\r\n      InitialFieldDialogHeaderText: \"이니셜 추가\",\r\n      HandwrittenInitialDialogHeaderText: \"이니셜 추가\",\r\n      \"Draw Ink\": \"잉크 그리기\",\r\n      Create: \"창조하다\",\r\n      \"Font family\": \"글꼴 군\",\r\n      \"Font size\": \"글꼴 크기\",\r\n      \"Free Text\": \"무료 문자\",\r\n      \"Import Failed\":\r\n        \"잘못된 JSON 파일 유형 또는 파일 이름입니다. 유효한 JSON 파일을 선택하십시오\",\r\n      \"File not found\": \"가져온 JSON 파일이 원하는 위치에 없습니다.\",\r\n      \"Export Failed\":\r\n        \"주석 내보내기 작업이 실패했습니다. 주석이 제대로 추가되었는지 확인하십시오.\",\r\n      of: \"의 \",\r\n      Dynamic: \"동적\",\r\n      \"Standard Business\": \"표준 비즈니스\",\r\n      \"Sign Here\": \"여기에 서명\",\r\n      \"Custom Stamp\": \"맞춤 스탬프\",\r\n      \"Enter Signature as Name\": \"당신의 이름을 입력\",\r\n      \"Draw-hand Signature\": \"무승부\",\r\n      \"Type Signature\": \"유형\",\r\n      \"Upload Signature\": \"업로드\",\r\n      \"Browse Signature Image\": \"검색\",\r\n      \"Save Signature\": \"서명 저장\",\r\n      \"Save Initial\": \"이니셜 저장\",\r\n      Textbox: \"텍스트 상자\",\r\n      Password: \"비밀번호\",\r\n      \"Check Box\": \"체크박스\",\r\n      \"Radio Button\": \"라디오 버튼\",\r\n      Dropdown: \"쓰러지 다\",\r\n      \"List Box\": \"리스트 박스\",\r\n      Signature: \"서명\",\r\n      \"Delete FormField\": \"양식 필드 삭제\",\r\n      \"Textbox Properties\": \"텍스트 상자 속성\",\r\n      Name: \"이름\",\r\n      Tooltip: \"툴팁\",\r\n      Value: \"값\",\r\n      \"Form Field Visibility\": \"양식 필드 가시성\",\r\n      \"Read Only\": \"읽기 전용\",\r\n      Required: \"필수의\",\r\n      Checked: \"확인됨\",\r\n      \"Show Printing\": \"인쇄 표시\",\r\n      Formatting: \"체재\",\r\n      Fill: \"채우다\",\r\n      Border: \"국경\",\r\n      \"Border Color\": \"테두리 색상\",\r\n      Thickness: \"두께\",\r\n      \"Max Length\": \"최대 길이\",\r\n      \"List Item\": \"상품명\",\r\n      \"Export Value\": \"항목 값\",\r\n      \"Dropdown Item List\": \"드롭다운 항목 목록\",\r\n      \"List Box Item List\": \"목록 상자 항목 목록\",\r\n      General: \"일반\",\r\n      Appearance: \"모습\",\r\n      Options: \"옵션\",\r\n      \"Delete Item\": \"삭제\",\r\n      Up: \"위로\",\r\n      Down: \"아래에\",\r\n      Multiline: \"여러 줄\",\r\n      Revised: \"개정\",\r\n      Reviewed: \"검토됨\",\r\n      Received: \"받았다\",\r\n      Confidential: \"비밀의\",\r\n      Approved: \"승인됨\",\r\n      \"Not Approved\": \"승인이 거절 됨\",\r\n      Witness: \"증인\",\r\n      \"Initial Here\": \"여기에 이니셜\",\r\n      Draft: \"초안\",\r\n      Final: \"결정적인\",\r\n      \"For Public Release\": \"공개용\",\r\n      \"Not For Public Release\": \"공개용 아님\",\r\n      \"For Comment\": \"코멘트를 위해\",\r\n      Void: \"무효의\",\r\n      \"Preliminary Results\": \"예비 결과\",\r\n      \"Information Only\": \"정보용\",\r\n      in: \"안에\",\r\n      m: \"중\",\r\n      ft_in: \"피트_안에\",\r\n      ft: \"피트\",\r\n      p: \"피\",\r\n      cm: \"센티미터\",\r\n      mm: \"mm\",\r\n      pt: \"태평양 표준시\",\r\n      cu: \"큐\",\r\n      sq: \"평방\",\r\n      Initial: \"초기의\",\r\n    },\r\n    diagram: {\r\n      Copy: \"부\",\r\n      Cut: \"절단\",\r\n      Paste: \"풀\",\r\n      Undo: \"실행 취소\",\r\n      Redo: \"다시 하다\",\r\n      SelectAll: \"모두 선택\",\r\n      Grouping: \"그룹화\",\r\n      Group: \"그룹\",\r\n      UnGroup: \"그룹 해제\",\r\n      Order: \"주문\",\r\n      BringToFront: \"앞으로 가져 오기\",\r\n      MoveForward: \"앞으로가\",\r\n      SendToBack: \"다시 보내기\",\r\n      SendBackward: \"뒤로 보내기\",\r\n    },\r\n    \"inplace-editor\": {\r\n      save: \"저장\",\r\n      cancel: \"취소\",\r\n      loadingText: \"로드 중...\",\r\n      editIcon: \"클릭하여 수정\",\r\n      editAreaClick: \"수정하려면 클릭하세요.\",\r\n      editAreaDoubleClick: \"수정하려면 두 번 클릭하세요.\",\r\n    },\r\n    drawing: {},\r\n    \"drop-down-base\": {\r\n      noRecordsTemplate: \"기록 없음\",\r\n      actionFailureTemplate: \"요청 실패\",\r\n    },\r\n    chart: {\r\n      Zoom: \"줌\",\r\n      ZoomIn: \"확대\",\r\n      ZoomOut: \"축소\",\r\n      Reset: \"초기화\",\r\n      Pan: \"팬\",\r\n      ResetZoom: \"줌 재설정\",\r\n    },\r\n    maps: {\r\n      Zoom: \"줌\",\r\n      ZoomIn: \"확대\",\r\n      ZoomOut: \"축소\",\r\n      Reset: \"초기화\",\r\n      Pan: \"팬\",\r\n      ResetZoom: \"줌 재설정\",\r\n      ImageNotFound: \"이미지를 찾을 수 없음\",\r\n    },\r\n    \"drop-down-tree\": {\r\n      noRecordsTemplate: \"기록 없음\",\r\n      actionFailureTemplate: \"요청 실패\",\r\n      overflowCountTemplate: \"+ ${count} 개 더 ..\",\r\n      totalCountTemplate: \"${count} 선택됨\",\r\n    },\r\n    documenteditor: {\r\n      Table: \"표\",\r\n      Row: \"열\",\r\n      Cell: \"세포\",\r\n      Ok: \"확인\",\r\n      Apply: \"천천히 쉽게\",\r\n      Cancel: \"취소\",\r\n      Size: \"크기\",\r\n      \"Preferred Width\": \"선호하는 폭\",\r\n      Points: \"포인트들\",\r\n      Percent: \"퍼센트\",\r\n      \"Measure in\": \"측정\",\r\n      Alignment: \"조정\",\r\n      Left: \"왼쪽\",\r\n      Center: \"센터\",\r\n      Right: \"권리\",\r\n      Decimal: \"소수점 1위\",\r\n      Bar: \"세미\",\r\n      Leader: \"시스템 관리자\",\r\n      Tab: \"미결제 인보이스\",\r\n      BookMarkList: \"표시된 문서 목록.\",\r\n      TabMarkList: \"단락의 페이지를 나열합니다.\",\r\n      \"Tab stop position\": \"디스크 공간\",\r\n      \"Default tab stops\": \"평범하지 않은 고 카트\",\r\n      \"Tab stops to be cleared\": \"교체 가능한 카드\",\r\n      Tabs: \"탭 창\",\r\n      Set: \"용법\",\r\n      Clear: \"투명한\",\r\n      \"Clear All\": \"모두 삭제\",\r\n      Justify: \"신이 옳다고 하다\",\r\n      \"Indent from left\": \"왼쪽에서 들여 쓰기\",\r\n      \"Borders and Shading\": \"테두리와 음영\",\r\n      Options: \"옵션\",\r\n      \"Specify height\": \"높이 지정\",\r\n      \"At least\": \"적어도\",\r\n      Exactly: \"바로 그거죠\",\r\n      \"Row height is\": \"행 높이\",\r\n      \"Allow row to break across pages\": \"행이 여러 페이지에서 나뉘도록 허용\",\r\n      \"Repeat as header row at the top of each page\":\r\n        \"각 페이지 상단에 헤더 행으로 반복\",\r\n      \"Vertical alignment\": \"수직 정렬\",\r\n      Top: \"상단\",\r\n      Bottom: \"바닥\",\r\n      \"Default cell margins\": \"기본 셀 여백\",\r\n      \"Default cell spacing\": \"기본 셀 간격\",\r\n      \"Allow spacing between cells\": \"셀 간 간격 허용\",\r\n      \"Cell margins\": \"셀 마진\",\r\n      \"Same as the whole table\": \"전체 테이블과 동일\",\r\n      Borders: \"테두리\",\r\n      None: \"없음\",\r\n      Style: \"스타일\",\r\n      Width: \"폭\",\r\n      Height: \"신장\",\r\n      Letter: \"편지\",\r\n      Tabloid: \"정제\",\r\n      Legal: \"적법한\",\r\n      Statement: \"성명서\",\r\n      Executive: \"행정부\",\r\n      A3: \"A3\",\r\n      A4: \"A4\",\r\n      A5: \"A5\",\r\n      B4: \"B4\",\r\n      B5: \"B5\",\r\n      \"Custom Size\": \"사용자 정의 크기\",\r\n      \"Different odd and even\": \"다른 홀수 및 짝수\",\r\n      \"Different first page\": \"다른 첫 페이지\",\r\n      \"From edge\": \"가장자리에서\",\r\n      Header: \"머리글\",\r\n      Footer: \"보행인\",\r\n      \"First Page Header\": \"첫 페이지 머리글\",\r\n      \"First Page Footer\": \"첫 페이지 바닥글\",\r\n      \"Even Page Header\": \"짝수 페이지 머리글\",\r\n      \"Even Page Footer\": \"짝수 페이지 바닥글\",\r\n      \"Odd Page Header\": \"홀수 페이지 헤더\",\r\n      \"Odd Page Footer\": \"홀수 페이지 바닥글\",\r\n      \"Same as Previous\": \"이전과 동일\",\r\n      Section: \"부분\",\r\n      Margin: \"여백\",\r\n      Paper: \"종이\",\r\n      Layout: \"나열한 것\",\r\n      Orientation: \"정위\",\r\n      Landscape: \"경치\",\r\n      Portrait: \"초상화\",\r\n      \"Show page numbers\": \"페이지 번호 표시\",\r\n      \"Right align page numbers\": \"페이지 번호를 오른쪽 정렬\",\r\n      Nothing: \"아무것도\",\r\n      \"Tab leader\": \"탭 리더\",\r\n      \"Show levels\": \"레벨 표시\",\r\n      \"Use hyperlinks instead of page numbers\":\r\n        \"페이지 번호 대신 하이퍼 링크 사용\",\r\n      \"Build table of contents from\": \"목차 구축\",\r\n      Styles: \"스타일\",\r\n      \"Available styles\": \"사용 가능한 스타일\",\r\n      \"TOC level\": \"TOC 레벨\",\r\n      Heading: \"표제\",\r\n      \"Heading 1\": \"제목 1\",\r\n      \"Heading 2\": \"제목 2\",\r\n      \"Heading 3\": \"제목 3\",\r\n      \"Heading 4\": \"제목 4\",\r\n      \"Heading 5\": \"제목 5\",\r\n      \"Heading 6\": \"제목 6\",\r\n      \"List Paragraph\": \"단락 목록\",\r\n      Normal: \"정상\",\r\n      \"Outline levels\": \"개요 수준\",\r\n      \"Table entry fields\": \"테이블 입력 필드\",\r\n      Modify: \"수정\",\r\n      Color: \"색깔\",\r\n      Setting: \"환경\",\r\n      Box: \"상자\",\r\n      All: \"모두\",\r\n      Custom: \"커스텀\",\r\n      Preview: \"시사\",\r\n      Shading: \"농담\",\r\n      Fill: \"가득 따르다\",\r\n      \"Apply To\": \"적용하다\",\r\n      \"Table Properties\": \"테이블 속성\",\r\n      \"Cell Options\": \"셀 옵션\",\r\n      \"Table Options\": \"테이블 옵션\",\r\n      \"Insert Table\": \"테이블 삽입\",\r\n      \"Number of columns\": \"열 수\",\r\n      \"Number of rows\": \"행 수\",\r\n      \"Text to display\": \"표시 할 텍스트\",\r\n      \"ScreenTip text\": \"스크린팁 텍스트\",\r\n      Address: \"주소\",\r\n      \"Insert Hyperlink\": \"하이퍼 링크 삽입\",\r\n      \"Edit Hyperlink\": \"하이퍼 링크 편집\",\r\n      Insert: \"끼워 넣다\",\r\n      General: \"일반\",\r\n      \"The number must be between\": \"숫자는 1에서 9 사이여야 합니다.\",\r\n      \"The Invalid number\": \"유효한 전화번호가 아닙니다.\",\r\n      Indentation: \"들여 쓰기\",\r\n      \"Before text\": \"텍스트 전에\",\r\n      Special: \"특별한\",\r\n      \"First line\": \"첫 번째 줄\",\r\n      Hanging: \"교수형\",\r\n      \"After text\": \"텍스트 후\",\r\n      By: \"으로\",\r\n      Before: \"전에\",\r\n      \"Line Spacing\": \"줄 간격\",\r\n      After: \"후\",\r\n      At: \"에서\",\r\n      Multiple: \"배수\",\r\n      Spacing: \"간격\",\r\n      \"Define new Multilevel list\": \"새로운 다단계 목록 정의\",\r\n      \"List level\": \"리스트 레벨\",\r\n      \"Choose level to modify\": \"수정할 레벨을 선택하십시오\",\r\n      Level: \"수평\",\r\n      \"Number format\": \"숫자 형식\",\r\n      \"Number style for this level\": \"이 레벨의 숫자 스타일\",\r\n      \"Enter formatting for number\": \"숫자 형식을 입력하십시오\",\r\n      \"Start at\": \"에서 시작\",\r\n      \"Restart list after\": \"다음에 다시 시작 목록\",\r\n      Position: \"위치\",\r\n      \"Text indent at\": \"텍스트 들여 쓰기\",\r\n      \"Aligned at\": \"에 정렬\",\r\n      \"Follow number with\": \"와 번호를 따르십시오\",\r\n      \"Tab character\": \"탭 문자\",\r\n      Space: \"우주\",\r\n      Arabic: \"아라비아 말\",\r\n      UpRoman: \"로마\",\r\n      LowRoman: \"로로 만\",\r\n      UpLetter: \"편지\",\r\n      LowLetter: \"낮은 글자\",\r\n      Number: \"번호\",\r\n      \"Leading zero\": \"선행 제로\",\r\n      Bullet: \"총알\",\r\n      Ordinal: \"서수\",\r\n      \"Ordinal Text\": \"서수 텍스트\",\r\n      \"For East\": \"동쪽\",\r\n      \"No Restart\": \"다시 시작하지 않음\",\r\n      Font: \"폰트\",\r\n      \"Font style\": \"폰트 스타일\",\r\n      \"Underline style\": \"밑줄 스타일\",\r\n      \"Font color\": \"글자 색\",\r\n      Effects: \"효과\",\r\n      Strikethrough: \"취소 선\",\r\n      Superscript: \"어깨 문자\",\r\n      Subscript: \"아래 첨자\",\r\n      \"Double strikethrough\": \"이중 취소 선\",\r\n      Regular: \"정규병\",\r\n      Bold: \"굵게\",\r\n      Italic: \"이탤릭체\",\r\n      Cut: \"절단\",\r\n      Copy: \"부\",\r\n      Paste: \"풀\",\r\n      Hyperlink: \"하이퍼 링크\",\r\n      \"Open Hyperlink\": \"하이퍼 링크 열기\",\r\n      \"Copy Hyperlink\": \"하이퍼 링크 복사\",\r\n      \"Remove Hyperlink\": \"하이퍼 링크 제거\",\r\n      Paragraph: \"절\",\r\n      \"Linked Style\": \"연결 (문단 및 문자)\",\r\n      Character: \"캐릭터\",\r\n      \"Merge Cells\": \"셀 병합\",\r\n      \"Insert Above\": \"위에 삽입\",\r\n      \"Insert Below\": \"아래에 삽입\",\r\n      \"Insert Left\": \"왼쪽 삽입\",\r\n      \"Insert Right\": \"오른쪽 삽입\",\r\n      Delete: \"지우다\",\r\n      \"Delete Table\": \"테이블 삭제\",\r\n      \"Delete Row\": \"행 삭제\",\r\n      \"Delete Column\": \"열 삭제\",\r\n      \"File Name\": \"파일 이름\",\r\n      \"Format Type\": \"체재 유형\",\r\n      Save: \"저장\",\r\n      Navigation: \"항해\",\r\n      Results: \"결과\",\r\n      Replace: \"바꾸다\",\r\n      \"Replace All\": \"전부 교체\",\r\n      \"We replaced all\": \"우리는 모두 교체\",\r\n      Find: \"찾기\",\r\n      \"No matches\": \"맞지 않는다\",\r\n      \"All Done\": \"모두 완료\",\r\n      Result: \"결과\",\r\n      of: \"의\",\r\n      instances: \"인스턴스\",\r\n      with: \"와\",\r\n      \"Click to follow link\": \"링크를 클릭하십시오\",\r\n      \"Continue Numbering\": \"번호 매기기 계속\",\r\n      \"Bookmark name\": \"북마크 이름\",\r\n      Close: \"닫기\",\r\n      \"Restart At\": \"다시 시작\",\r\n      Properties: \"속성\",\r\n      Name: \"이름\",\r\n      \"Style type\": \"스타일 타입\",\r\n      \"Style based on\": \"기반 스타일\",\r\n      \"Style for following paragraph\": \"다음 단락 스타일\",\r\n      Formatting: \"서식\",\r\n      \"Numbering and Bullets\": \"번호 매기기 및 글 머리 기호\",\r\n      Numbering: \"넘버링\",\r\n      \"Update Field\": \"업데이트 필드\",\r\n      \"Edit Field\": \"필드 편집\",\r\n      Bookmark: \"서표\",\r\n      \"Page Setup\": \"페이지 설정\",\r\n      \"No bookmarks found\": \"북마크를 찾을 수 없습니다\",\r\n      \"Number format tooltip information\":\r\n        \"단일 수준 숫자 형식 : </br> [PREFIX] % [LEVELNUMBER] [SUFFIX] </br> 예 : 'Chapter % 1' 1 장 항목 </br> 2 장 항목 </br>… </br> N. 항목 </br> </br> </br> 다단계 번호 형식 : </br> [ PREFIX] % [LEVELNUMBER] [SUFFIX] + [PREFIX] % [LEVELNUMBER] [SUFFIX] </br> 예 : '% 1. % 2' 1.1과 같은 번호가 표시됩니다. 항목 </br> 1.2. 항목 </br>… </br> 1.N. 안건\",\r\n      Format: \"체재\",\r\n      \"Create New Style\": \"새로운 스타일 만들기\",\r\n      \"Modify Style\": \"스타일 수정\",\r\n      New: \"새로운\",\r\n      Bullets: \"글 머리 기호\",\r\n      \"Use bookmarks\": \"북마크 사용\",\r\n      \"Table of Contents\": \"목차\",\r\n      AutoFit: \"자동 맞춤\",\r\n      \"AutoFit to Contents\": \"내용에 자동 맞춤\",\r\n      \"AutoFit to Window\": \"창에 자동 맞춤\",\r\n      \"Fixed Column Width\": \"고정 열 너비\",\r\n      Reset: \"초기화\",\r\n      \"Match case\": \"경기 사례\",\r\n      \"Whole words\": \"전체 단어\",\r\n      Add: \"더하다\",\r\n      \"Go To\": \"이동\",\r\n      \"Search for\": \"검색\",\r\n      \"Replace with\": \"로 교체\",\r\n      \"TOC 1\": \"목차 1\",\r\n      \"TOC 2\": \"목차 2\",\r\n      \"TOC 3\": \"목차 3\",\r\n      \"TOC 4\": \"목차 4\",\r\n      \"TOC 5\": \"목차 5\",\r\n      \"TOC 6\": \"목차 6\",\r\n      \"TOC 7\": \"목차 7\",\r\n      \"TOC 8\": \"목차 8\",\r\n      \"TOC 9\": \"목차 9\",\r\n      \"Right-to-left\": \"오른쪽에서 왼쪽으로\",\r\n      \"Left-to-right\": \"왼쪽에서 오른쪽으로\",\r\n      Direction: \"방향\",\r\n      \"Table direction\": \"테이블 방향\",\r\n      \"Indent from right\": \"오른쪽에서 들여 쓰기\",\r\n      \"Contextual Spacing\":\r\n        \"같은 스타일의 단락 사이에 공백을 추가하지 마십시오\",\r\n      \"Password Mismatch\": \"비밀번호가 일치하지 않습니다\",\r\n      \"Restrict Editing\": \"편집 제한\",\r\n      \"Formatting restrictions\": \"포맷 제한\",\r\n      \"Allow formatting\": \"서식 허용\",\r\n      \"Editing restrictions\": \"편집 제한\",\r\n      \"Read only\": \"읽기 전용\",\r\n      \"Exceptions Optional\": \"예외 (선택 사항)\",\r\n      \"Select Part Of Document And User\":\r\n        \"문서의 일부를 선택하고 자유롭게 편집 할 수있는 사용자를 선택하십시오.\",\r\n      Everyone: \"여러분\",\r\n      \"More users\": \"더 많은 사용자\",\r\n      \"Add Users\": \"사용자 추가\",\r\n      \"Enforcing Protection\": \"예, 보호 시작\",\r\n      \"Start Enforcing Protection\": \"보호 시작\",\r\n      \"Enter User\": \"사용자 입력\",\r\n      Users: \"사용자\",\r\n      \"Enter new password\": \"새 비밀번호를 입력하십시오\",\r\n      \"Reenter new password to confirm\":\r\n        \"확인을 위해 새 비밀번호를 다시 입력하십시오\",\r\n      \"Your permissions\": \"당신의 권한\",\r\n      \"Protected Document\":\r\n        \"이 문서는 의도하지 않은 편집으로부터 보호됩니다.이 지역에서 편집 할 수 있습니다.\",\r\n      FormFieldsOnly: \"이 지역에서만 양식을 작성할 수 있습니다.\",\r\n      CommentsOnly: \"이 영역에만 주석을 삽입할 수 있습니다.\",\r\n      ReadOnlyProtection: \"이 영역에서 편집할 수 있습니다.\",\r\n      \"Stop Protection\": \"보호 중지\",\r\n      Password: \"암호\",\r\n      \"Spelling Editor\": \"맞춤법 편집기\",\r\n      Spelling: \"철자\",\r\n      \"Spell Check\": \"맞춤법 검사\",\r\n      \"Underline errors\": \"밑줄 오류\",\r\n      Ignore: \"무시\",\r\n      \"Ignore All\": \"전부다 무시해라\",\r\n      \"Add to Dictionary\": \"사전에 추가\",\r\n      Change: \"변화\",\r\n      \"Change All\": \"모두 변경\",\r\n      Suggestions: \"제안\",\r\n      \"The password is incorrect\": \"비밀번호가 잘못되었습니다\",\r\n      \"Error in establishing connection with web server\":\r\n        \"웹 서버와의 연결 설정 중 오류\",\r\n      \"Highlight the regions I can edit\":\r\n        \"편집 할 수있는 영역을 강조 표시합니다\",\r\n      \"Show All Regions I Can Edit\": \"편집 할 수있는 모든 지역 표시\",\r\n      \"Find Next Region I Can Edit\": \"편집 할 수있는 다음 지역 찾기\",\r\n      \"Keep source formatting\": \"소스 형식 유지\",\r\n      \"Match destination formatting\": \"대상 형식 일치\",\r\n      \"Text only\": \"텍스트 만\",\r\n      Comments: \"코멘트\",\r\n      \"Type your comment\": \"귀하의 의견을 입력하십시오\",\r\n      Post: \"우편\",\r\n      Reply: \"댓글\",\r\n      \"New Comment\": \"새로운 코멘트\",\r\n      Edit: \"편집하다\",\r\n      Resolve: \"결의\",\r\n      Reopen: \"다시 열다\",\r\n      \"No comments in this document\": \"이 문서에 의견이 없습니다\",\r\n      more: \"더\",\r\n      \"Type your comment here\": \"여기에 의견을 입력하십시오\",\r\n      \"Next Comment\": \"다음 댓글\",\r\n      \"Previous Comment\": \"이전 의견\",\r\n      \"Un-posted comments\": \"게시되지 않은 댓글\",\r\n      \"Discard Comment\":\r\n        \"댓글이 게시되지 않았습니다. 계속하면 해당 댓글이 삭제됩니다.\",\r\n      Discard: \"버리다\",\r\n      \"No Headings\": \"제목이 없습니다!\",\r\n      \"Add Headings\":\r\n        \"이 문서에는 제목이 없습니다. 제목을 추가하고 다시 시도하십시오.\",\r\n      \"More Options\": \"추가 옵션\",\r\n      \"Click to see this comment\": \"이 의견을 보려면 클릭하십시오\",\r\n      \"Drop Down Form Field\": \"드롭 다운 양식 필드\",\r\n      \"Drop-down items\": \"드롭 다운 항목\",\r\n      \"Items in drop-down list\": \"드롭 다운 목록의 항목\",\r\n      ADD: \"더하다\",\r\n      REMOVE: \"없애다\",\r\n      \"Field settings\": \"필드 설정\",\r\n      Tooltip: \"툴팁\",\r\n      \"Drop-down enabled\": \"드롭 다운 사용\",\r\n      \"Check Box Form Field\": \"확인란 양식 필드\",\r\n      \"Check box size\": \"확인란 크기\",\r\n      Auto: \"자동\",\r\n      \"Default value\": \"기본값\",\r\n      \"Not checked\": \"확인되지 않은\",\r\n      Checked: \"확인\",\r\n      \"Check box enabled\": \"확인란 활성화\",\r\n      \"Text Form Field\": \"텍스트 양식 필드\",\r\n      Type: \"유형\",\r\n      \"Default text\": \"기본 텍스트\",\r\n      \"Maximum length\": \"최대 길이\",\r\n      \"Text format\": \"텍스트 형식\",\r\n      \"Fill-in enabled\": \"필인 사용\",\r\n      \"Default number\": \"기본 번호\",\r\n      \"Default date\": \"기본 날짜\",\r\n      \"Date format\": \"날짜 형식\",\r\n      \"Merge Track\": \"이 조치는 변경으로 표시되지 않습니다. 계속 하시겠습니까?\",\r\n      UnTrack: \"추적 할 수 없습니다\",\r\n      Accept: \"동의하기\",\r\n      Reject: \"받지 않다\",\r\n      \"Previous Changes\": \"이전 변경\",\r\n      \"Next Changes\": \"다음 변경\",\r\n      Inserted: \"삽입\",\r\n      Deleted: \"삭제\",\r\n      \"Move From\": \"그리고\",\r\n      \"Move To\": \"분노\",\r\n      Changes: \"변경\",\r\n      \"Accept all\": \"모든것을 받아 들인다\",\r\n      \"Reject all\": \"모두 거부\",\r\n      \"No changes\": \"변경 사항 없음\",\r\n      \"Accept Changes\": \"변경 수락\",\r\n      \"Reject Changes\": \"변경 사항 거부\",\r\n      User: \"사용자\",\r\n      View: \"전망\",\r\n      Insertion: \"삽입\",\r\n      Deletion: \"삭제\",\r\n      \"All caps\": \"모든 대문자\",\r\n      \"This region is locked by\": \"이 지역은\",\r\n      Lock: \"자물쇠\",\r\n      Unlock: \"터놓다\",\r\n      \"Already locked\":\r\n        \"선택되었거나 지역의 일부가 이미 다른 사용자에 의해 잠겼습니다.\",\r\n      \"1, 2, 3, ...\": \"1, 2, 3, ...\",\r\n      \"a, b, c, ...\": \"a, b, c, ...\",\r\n      \"A, B, C, ...\": \"A, B, C, ...\",\r\n      \"I, II, III, ...\": \"나, II, III, ...\",\r\n      \"i, ii, iii, ...\": \"i, ii, iii, ...\",\r\n      \"Text Form\": \"텍스트 양식\",\r\n      \"Check Box\": \"체크 박스\",\r\n      DropDown: \"쓰러지 다\",\r\n      \"Form Fields\": \"양식 필드\",\r\n      \"Fillin enabled\": \"채우기 사용\",\r\n      \"Multiple Comment\": \"귀하의 의견을 게시하십시오\",\r\n      InsertFootnote: \"삽입 각주\",\r\n      InsertEndnote: \"삽입 미주\",\r\n      Footnote: \"각주\",\r\n      Endnote: \"미주\",\r\n      \"Notes Options\": \"옵션 확인\",\r\n      \"Click to View/Edit Footnote\": \"각주를 보거나 편집하려면 클릭하십시오.\",\r\n      \"Click to View/Edit Endnote\": \"미주를 보거나 편집하려면 클릭하십시오.\",\r\n      InsertAsRows: \"새 행으로 삽입\",\r\n      InsertAsColumns: \"새 열로 삽입\",\r\n      OverwriteCells: \"셀 덮어 쓰기\",\r\n      NestTable: \"네스트 테이블\",\r\n      \"No suggestions\": \"제안 없음\",\r\n      \"More Suggestion\": \"더 많은 제안\",\r\n      \"Ignore Once\": \"한 번 무시\",\r\n      \"Keep With Next\": \"다음으로 유지\",\r\n      \"Keep Lines Together\": \"줄을 함께 유지\",\r\n      WidowControl: \"과부/고아 통제\",\r\n      \"Indents and Spacing\": \"들여쓰기 및 간격\",\r\n      \"Line and Page Breaks\": \"줄 및 페이지 나누기\",\r\n      Pagination: \"쪽수 매기기\",\r\n      Single: \"하나의\",\r\n      DashSmallGap: \"돌진SmallGap\",\r\n      DashDot: \"대시닷\",\r\n      Double: \"더블\",\r\n      ThinThickSmallGap: \"얇은두꺼운작은갭\",\r\n      ThickThinSmallGap: \"두껍게얇게작은갭\",\r\n      ThickThinMediumGap: \"두껍게얇게중간갭\",\r\n      ThickThinLargeGap: \"두껍게얇게큰갭\",\r\n      SingleWavy: \"싱글웨이비\",\r\n      DoubleWavy: \"더블웨이비\",\r\n      Inset: \"삽입\",\r\n      DashLargeGap: \"대시큰간격\",\r\n      Dot: \"점\",\r\n      DashDotDot: \"대시닷닷\",\r\n      Triple: \"삼루타\",\r\n      ThinThickThinSmallGap: \"가늘게 굵게 가늘게 작은 갭\",\r\n      ThinThickThinMediumGap: \"얇은두꺼움얇은중간갭\",\r\n      ThinThickThinLargeGap: \"가늘게 굵게 가늘게 큰 갭\",\r\n      DashDotStroked: \"대시닷스트로크\",\r\n      Engrave3D: \"새기다3D\",\r\n      Thick: \"두꺼운\",\r\n      Outset: \"시초\",\r\n      Emboss3D: \"엠보스3D\",\r\n      ThinThickLargeGap: \"얇은두꺼운대형갭\",\r\n      ThinThickMediumGap: \"얇은두꺼운중간갭\",\r\n      \"Number of rows must be between\": \"행 수는 사이여야 합니다.\",\r\n      \"Number of columns must be between\": \"열 수는 다음 사이여야 합니다.\",\r\n      and: \"그리고\",\r\n      Unlimited: \"제한 없는\",\r\n      \"Regular text\": \"일반 텍스트\",\r\n      Date: \"날짜\",\r\n      Uppercase: \"대문자\",\r\n      Lowercase: \"소문자\",\r\n      FirstCapital: \"퍼스트캐피탈\",\r\n      TitleCase: \"제목 케이스\",\r\n      \"Filling in forms\": \"양식 작성\",\r\n      px: \"픽셀\",\r\n      \"Tracked changes\": \"추적된 변경 사항\",\r\n      TrackChangesOnly:\r\n        \"이 지역에서 편집할 수 있지만 모든 변경 사항은 추적됩니다.\",\r\n      RemovedIgnore: \"무시된 예외를 제거하시겠습니까?\",\r\n      RemovedIgnoreExceptions:\r\n        \"문서 보호에서 이렇게 변경하면 Word에서 이 문서의 모든 예외를 무시합니다.\",\r\n      Information: \"정보.\",\r\n      Yes: \"예\",\r\n      No: \"아니\",\r\n      \"Page Break\": \"페이지 나누기\",\r\n      \"Column Break\": \"단 나누기\",\r\n      \"Section Break Next Page\": \"섹션 나누기(다음 페이지)\",\r\n      \"Section Break Continuous\": \"구역 나누기(연속)\",\r\n      \"Unsupported format\":\r\n        \"선택한 파일 형식이 지원되지 않습니다. 유효한 형식을 선택하십시오.\",\r\n      One: \"하나\",\r\n      Two: \"둘\",\r\n      Three: \"삼\",\r\n      Presets: \"프리셋\",\r\n      Columns: \"열\",\r\n      \"Split your text into two or more columns\":\r\n        \"텍스트를 두 개 이상의 열로 분할\",\r\n      \"Line between column\": \"열 사이의 선\",\r\n      \"Width and Spacing\": \"폭과 간격\",\r\n      \"Equal column width\": \"동일한 열 너비\",\r\n      Column: \"열\",\r\n      \"Paste Content Dialog\":\r\n        \"브라우저의 보안 정책으로 인해 시스템 클립보드에서 붙여넣기가 제한됩니다. \",\r\n      \"Paste Content CheckBox\": \"다시 나타나지 마라.\",\r\n      \"The top/bottom margins are too large for the page height in some sections.\":\r\n        \"일부 섹션의 페이지 높이에 비해 위쪽/아래쪽 여백이 너무 큽니다.\",\r\n      \"Column width cannot be less than 36 pt.\":\r\n        \"열 너비는 36pt보다 작을 수 없습니다.\",\r\n      \"Left and right margins.\":\r\n        \"왼쪽 및 오른쪽 여백, 열 간격 또는 단락 들여쓰기에 대해 선택한 설정이 동일한 섹션의 페이지 너비에 비해 너무 큽니다.\",\r\n      \"The address of this site is 'not valid. Check the address and try again.\":\r\n        \"이 사이트의 주소가 유효하지 않습니다. 주소를 확인하고 다시 시도하세요.\",\r\n      \"Alt Text\": \"대체 텍스트\",\r\n      Title: \"제목\",\r\n      Description: \"설명\",\r\n      \"Left Indent\": \"커뮤니케이션 분야\",\r\n      \"Right Indent\": \"올바른 코스\",\r\n      \"Hanging Indent\": \"모두가 해야 할 역할을\",\r\n      \"First Line Indent\": \"첫 번째는 라인의 굽힘입니다.\",\r\n      \"Left Margin\": \"유 주오\",\r\n      \"Right Margin\": \"좋은 좋은\",\r\n      \"Top Margin\": \"테스터\",\r\n      \"Bottom Margin\": \"켜기\",\r\n      \"Left Tab\": \"왼쪽 귀\",\r\n      \"Right Tab\": \"오른쪽 귀\",\r\n      \"Center Tab\": \"중앙 표시기\",\r\n      \"Decimal Tab\": \"동물 도살\",\r\n      \"Bar Tab\": \"코밀비\",\r\n      \"Move Table Column\": \"테이블의 열 이동\",\r\n      external: \"컨텐츠 제어를 제거하십시오\",\r\n      \"Content Control Properties\": \"컨텐츠 제어 속성\",\r\n      \"Remove content control when contents are edited\":\r\n        \"내용을 편집 할 때 컨텐츠 제어 제거\",\r\n      \"Content control cannot be deleted\": \"컨텐츠 제어는 삭제할 수 없습니다\",\r\n      \"Contents cannot be edited\": \"내용을 편집 할 수 없습니다\",\r\n      \"Plain Text properties\": \"일반 텍스트 속성\",\r\n      \"Allow carriage returns\": \"캐리지 리턴을 허용합니다\",\r\n      \"Drop_Down List properties\": \"drop_down 목록 속성\",\r\n      \"Display Text\": \"텍스트 표시\",\r\n      Locking: \"잠금\",\r\n      Tag: \"꼬리표\",\r\n      Value: \"값\",\r\n      PictureContentControl: \"PictureContentControl\",\r\n      \"Upload from computer\": \"컴퓨터에서 업로드\",\r\n      Picture: \"그림\",\r\n      \"Choose an item\": \"항목을 선택하세요\",\r\n      \"Paste CheckBox Content Dialog\": \"다시 표시하지 않음\",\r\n      \"The address of this site is not valid. Check the address and try again.\":\r\n        \"이 사이트의 주소가 유효하지 않습니다. \",\r\n      \"Left and right margins\":\r\n        \"왼쪽 및 오른쪽 여백, 열 간격 또는 단락 들여쓰기에 대해 선택한 설정이 동일한 섹션의 페이지 너비에 비해 너무 큽니다.\",\r\n      \"Number of rows must be between 1 and 32767.\":\r\n        \"행 수는 1에서 32767 사이여야 합니다.\",\r\n      \"Number of columns must be between 1 and 63.\":\r\n        \"열 수는 1에서 63 사이여야 합니다.\",\r\n      \"You may format text only with certain styles\":\r\n        \"특정 스타일로만 텍스트 서식을 지정할 수 있습니다.\",\r\n      \"Ignore all\": \"전부다 무시해라\",\r\n    },\r\n    documenteditorcontainer: {\r\n      New: \"새로운\",\r\n      Open: \"열다\",\r\n      Undo: \"실행 취소\",\r\n      Redo: \"다시 하다\",\r\n      Image: \"영상\",\r\n      Table: \"표\",\r\n      Link: \"링크\",\r\n      Bookmark: \"서표\",\r\n      \"Table of Contents\": \"목차\",\r\n      \"HEADING - - - - 1\": \"머리말----1\",\r\n      \"HEADING - - - - 2\": \"머리말----2\",\r\n      \"HEADING - - - - 3\": \"머리말----3\",\r\n      Header: \"머리글\",\r\n      Footer: \"보행인\",\r\n      \"Page Setup\": \"페이지 설정\",\r\n      \"Page Number\": \"페이지 번호\",\r\n      Break: \"단절\",\r\n      Find: \"찾기\",\r\n      \"Local Clipboard\": \"로컬 클립 보드\",\r\n      \"Restrict Editing\": \"편집 제한\",\r\n      \"Content Control\": \"콘텐츠 제어\",\r\n      \"Rich Text Content Control\": \"풍부한 텍스트 콘텐츠 제어\",\r\n      \"Plain Text Content Control\": \"일반 텍스트 콘텐츠 제어\",\r\n      \"Picture Content Control\": \"사진 내용 제어\",\r\n      \"Combo Box Content Control\": \"콤보 박스 콘텐츠 제어\",\r\n      \"Drop-Down List Content Control\": \"드롭 다운 목록 컨텐츠 제어\",\r\n      \"Date Picker Content Control\": \"날짜 선택기 컨텐츠 제어\",\r\n      \"Check Box Content Control\": \"상자 내용 컨트롤을 확인하십시오\",\r\n      \"Upload from computer\": \"컴퓨터에서 업로드\",\r\n      \"By URL\": \"URL로\",\r\n      \"Page Break\": \"페이지 나누기\",\r\n      \"Section Break\": \"섹션 나누기\",\r\n      \"Header And Footer\": \"머리글 및 바닥 글\",\r\n      Options: \"옵션\",\r\n      Levels: \"레벨\",\r\n      \"Different First Page\": \"다른 첫 페이지\",\r\n      \"Different header and footer for odd and even pages\":\r\n        \"홀수 및 짝수 페이지를위한 다른 머리글 및 바닥 글.\",\r\n      \"Different Odd And Even Pages\": \"다른 홀수 및 짝수 페이지\",\r\n      \"Different header and footer for first page\":\r\n        \"첫 페이지에 대한 다른 머리글 및 바닥 글\",\r\n      Position: \"위치\",\r\n      \"Header from Top\": \"상단에서 헤더\",\r\n      \"Footer from Bottom\": \"바닥 글에서 바닥 글\",\r\n      \"Distance from top of the page to top of the header\":\r\n        \"페이지 상단에서 헤더 상단까지의 거리입니다.\",\r\n      \"Distance from bottom of the page to bottom of the footer\":\r\n        \"페이지 하단에서 바닥 글 하단까지의 거리입니다.\",\r\n      \"Aspect ratio\": \"종횡비\",\r\n      W: \"여\",\r\n      H: \"시간\",\r\n      Width: \"폭\",\r\n      Height: \"신장\",\r\n      Text: \"본문\",\r\n      Paragraph: \"절\",\r\n      Fill: \"가득 따르다\",\r\n      \"Fill color\": \"채우기 색상\",\r\n      \"Border Style\": \"테두리 스타일\",\r\n      \"Outside borders\": \"외부 테두리\",\r\n      \"All borders\": \"모든 테두리\",\r\n      \"Inside borders\": \"내부 테두리\",\r\n      \"Left border\": \"왼쪽 테두리\",\r\n      \"Inside vertical border\": \"내부 세로 테두리\",\r\n      \"Right border\": \"오른쪽 테두리\",\r\n      \"Top border\": \"상단 테두리\",\r\n      \"Inside horizontal border\": \"내부 가로 테두리\",\r\n      \"Bottom border\": \"아래쪽 테두리\",\r\n      \"Border color\": \"테두리 색\",\r\n      \"Border width\": \"테두리 너비\",\r\n      Cell: \"세포\",\r\n      \"Merge cells\": \"셀 병합\",\r\n      \"Insert Or Delete\": \"삽입 / 삭제\",\r\n      \"Insert columns to the left\": \"왼쪽에 열 삽입\",\r\n      \"Insert columns to the right\": \"오른쪽에 열 삽입\",\r\n      \"Insert rows above\": \"위의 행 삽입\",\r\n      \"Insert rows below\": \"아래에 행 삽입\",\r\n      \"Delete rows\": \"행 삭제\",\r\n      \"Delete columns\": \"열 삭제\",\r\n      \"Cell Margin\": \"세포 여백\",\r\n      Top: \"상단\",\r\n      Bottom: \"바닥\",\r\n      Left: \"왼쪽\",\r\n      Right: \"권리\",\r\n      \"Align Text\": \"텍스트 정렬\",\r\n      \"Align top\": \"상단 정렬\",\r\n      \"Align bottom\": \"하단 정렬\",\r\n      \"Align center\": \"가운데 정렬\",\r\n      \"Number of heading or outline levels to be shown in table of contents\":\r\n        \"목차에 표시 할 제목 또는 개요 수준의 수입니다.\",\r\n      \"Show page numbers\": \"페이지 번호 표시\",\r\n      \"Show page numbers in table of contents\":\r\n        \"목차에 페이지 번호를 표시합니다.\",\r\n      \"Right align page numbers\": \"페이지 번호를 오른쪽 정렬\",\r\n      \"Right align page numbers in table of contents\":\r\n        \"목차에서 페이지 번호를 오른쪽 정렬하십시오.\",\r\n      \"Use hyperlinks\": \"하이퍼 링크 사용\",\r\n      \"Use hyperlinks instead of page numbers\":\r\n        \"페이지 번호 대신 하이퍼 링크를 사용하십시오.\",\r\n      Font: \"폰트\",\r\n      \"Font Size\": \"폰트 크기\",\r\n      \"Font color\": \"글자 색\",\r\n      \"Text highlight color\": \"텍스트 하이라이트 색상\",\r\n      \"Clear all formatting\": \"모든 서식 지우기\",\r\n      \"Bold Tooltip\": \"굵게 (Ctrl + B)\",\r\n      \"Italic Tooltip\": \"기울임 꼴 (Ctrl + I)\",\r\n      \"Underline Tooltip\": \"밑줄 (Ctrl + U)\",\r\n      Strikethrough: \"취소 선\",\r\n      \"Superscript Tooltip\": \"위첨자 (Ctrl + Shift ++)\",\r\n      \"Subscript Tooltip\": \"아래 첨자 (Ctrl + =)\",\r\n      \"Align left Tooltip\": \"왼쪽 맞춤 (Ctrl + L)\",\r\n      \"Center Tooltip\": \"가운데 (Ctrl + E)\",\r\n      \"Align right Tooltip\": \"오른쪽 맞춤 (Ctrl + R)\",\r\n      \"Justify Tooltip\": \"정당화 (Ctrl + J)\",\r\n      \"Decrease indent\": \"들여 쓰기 감소\",\r\n      \"Increase indent\": \"들여 쓰기\",\r\n      \"Line spacing\": \"줄 간격\",\r\n      Bullets: \"글 머리 기호\",\r\n      Numbering: \"넘버링\",\r\n      Styles: \"스타일\",\r\n      \"Manage Styles\": \"스타일 관리\",\r\n      Page: \"페이지\",\r\n      of: \"의\",\r\n      \"Fit one page\": \"한 페이지에 적합\",\r\n      \"Spell Check\": \"맞춤법 검사\",\r\n      Spelling: \"아무것도\",\r\n      \"Underline errors\": \"밑줄 오류\",\r\n      \"Fit page width\": \"페이지 너비 맞추기\",\r\n      Update: \"최신 정보\",\r\n      Cancel: \"취소\",\r\n      Insert: \"끼워 넣다\",\r\n      \"No Border\": \"국경 없음\",\r\n      \"Create a new document\": \"새 문서를 작성하십시오.\",\r\n      \"Open a document\": \"문서를여십시오.\",\r\n      \"Undo Tooltip\": \"마지막 작업을 취소합니다 (Ctrl + Z).\",\r\n      \"Redo Tooltip\": \"마지막 작업을 다시 실행하십시오 (Ctrl + Y).\",\r\n      \"Insert inline picture from a file\":\r\n        \"파일에서 인라인 그림을 삽입하십시오.\",\r\n      \"Insert a table into the document\": \"문서에 테이블 삽입\",\r\n      \"Create Hyperlink\":\r\n        \"웹 페이지 및 파일에 빠르게 액세스 할 수 있도록 문서에 링크를 만듭니다 (Ctrl + K).\",\r\n      \"Insert a bookmark in a specific place in this document\":\r\n        \"이 문서의 특정 위치에 책갈피를 삽입하십시오.\",\r\n      \"Provide an overview of your document by adding a table of contents\":\r\n        \"목차를 추가하여 문서의 개요를 제공하십시오.\",\r\n      \"Add or edit the header\": \"헤더를 추가하거나 편집하십시오.\",\r\n      \"Add or edit the footer\": \"바닥 글을 추가하거나 편집하십시오.\",\r\n      \"Open the page setup dialog\": \"페이지 설정 대화 상자를 엽니 다.\",\r\n      \"Add page numbers\": \"페이지 번호를 추가하십시오.\",\r\n      \"Find Text\": \"문서에서 텍스트를 찾으십시오 (Ctrl + F).\",\r\n      \"Toggle between the internal clipboard and system clipboard\":\r\n        \"내부 클립 보드와 시스템 클립 보드간에 전환합니다. </br> 브라우저 보안 정책으로 인해 스크립트를 통한 시스템 클립 보드 액세스가 거부되었습니다. 대신 </br> 1. 내부 클립 보드를 사용하여 구성 요소 내에서 잘라 내기, 복사 및 붙여 넣기를 수행 할 수 있습니다. </br> 2. 키보드 단축키 (Ctrl + X, Ctrl + C 및 Ctrl + V)를 사용하여 잘라낼 수 있습니다. , 시스템 클립 보드로 복사하여 붙여 넣기.\",\r\n      \"Current Page Number\":\r\n        \"문서의 현재 페이지 번호 특정 페이지를 탐색하려면 클릭하거나 탭하십시오.\",\r\n      \"Read only\": \"읽기 전용\",\r\n      Protections: \"보호\",\r\n      \"Error in establishing connection with web server\":\r\n        \"웹 서버와의 연결 설정 중 오류\",\r\n      Single: \"단일\",\r\n      Double: \"더블\",\r\n      \"New comment\": \"새로운 의견\",\r\n      Comments: \"코멘트\",\r\n      \"Print layout\": \"인쇄 레이아웃\",\r\n      \"Web layout\": \"웹 레이아웃\",\r\n      \"Text Form\": \"텍스트 양식\",\r\n      \"Check Box\": \"확인란\",\r\n      DropDown: \"쓰러지 다\",\r\n      \"Update Fields\": \"업데이트 필드\",\r\n      \"Update cross reference fields\": \"상호 참조 필드 업데이트\",\r\n      \"Hide properties pane\": \"속성 창 숨기기\",\r\n      \"Show properties pane\": \"속성 창 표시\",\r\n      \"Form Fields\": \"양식 필드\",\r\n      \"Track Changes\": \"문서의 변경 사항을 추적합니다.\",\r\n      TrackChanges: \"변경 사항 추적\",\r\n      AllCaps: \"모두 대문자\",\r\n      \"Change case Tooltip\": \"케이스 변경\",\r\n      \"Insert Footnote\": \"각주 삽입\",\r\n      \"Insert Endnote\": \"미주 삽입\",\r\n      \"Footnote Tooltip\": \"각주 삽입 (Alt + Ctrl + F).\",\r\n      \"Endnote Tooltip\": \"미주 삽입 (Alt + Ctrl + D).\",\r\n      UPPERCASE: \"대문자\",\r\n      \"No color\": \"색상 없음\",\r\n      \"Top margin\": \"상단 여백\",\r\n      \"Bottom margin\": \"하단 여백\",\r\n      \"Left margin\": \"왼쪽 여백\",\r\n      \"Right margin\": \"오른쪽 여백\",\r\n      Normal: \"정상\",\r\n      Heading: \"표제\",\r\n      \"Heading 1\": \"제목 1\",\r\n      \"Heading 2\": \"제목 2\",\r\n      \"Heading 3\": \"제목 3\",\r\n      \"Heading 4\": \"제목 4\",\r\n      \"Heading 5\": \"제목 5\",\r\n      \"Heading 6\": \"제목 6\",\r\n      ZoomLevelTooltip: \"줌 레벨. 클릭하거나 탭하여 확대/축소 옵션을 엽니다.\",\r\n      None: \"없음\",\r\n      Borders: \"테두리\",\r\n      \"ShowHiddenMarks Tooltip\":\r\n        \"공백, 탭, 단락 기호 및 나누기와 같은 숨겨진 문자를 표시합니다.(Ctrl + *)\",\r\n      Columns: \"열\",\r\n      \"Column Break\": \"단 나누기\",\r\n      \"Link to Previous\": \"이전 링크\",\r\n      \"Link to PreviousTooltip\":\r\n        \"이 섹션을 이전 섹션의 머리글 또는 바닥글에 연결\",\r\n      \"Alternate Text\": \"대체 텍스트\",\r\n      \"The address of this site is not valid. Check the address and try again.\":\r\n        \"이 사이트의 주소가 유효하지 않습니다. \",\r\n      OK: \"좋아요\",\r\n      Information: \"정보\",\r\n      \"Page Breaks\": \"페이지 끝에\",\r\n      \"Section Breaks\": \"이 부문은 붕괴\",\r\n      Column: \"이것을 공유\",\r\n      \"Next Page\": \"다음 페이지\",\r\n      Continuous: \"작업\",\r\n    },\r\n    carousel: {\r\n      nextSlide: \"다음 슬라이드\",\r\n      of: \"~의\",\r\n      pauseSlideTransition: \"슬라이드 전환 일시 중지\",\r\n      playSlideTransition: \"슬라이드 전환 재생\",\r\n      previousSlide: \"이전 슬라이드\",\r\n      slide: \"미끄러지 다\",\r\n      slideShow: \"슬라이드 쇼\",\r\n    },\r\n    message: {\r\n      close: \"닫다\",\r\n    },\r\n    \"image-editor\": {\r\n      \"0\": \"0%\",\r\n      \"1\": \"1\",\r\n      \"2\": \"2\",\r\n      \"3\": \"삼\",\r\n      \"4\": \"4\",\r\n      \"5\": \"5\",\r\n      \"20\": \"20%\",\r\n      \"40\": \"40%\",\r\n      \"60\": \"60%\",\r\n      \"80\": \"80%\",\r\n      \"100\": \"100%\",\r\n      Crop: \"수확고\",\r\n      CropAndTransform: \"자르기 및 변형\",\r\n      ZoomIn: \"확대\",\r\n      ZoomOut: \"축소\",\r\n      Undo: \"실행 취소\",\r\n      Redo: \"다시 하다\",\r\n      Transform: \"변환\",\r\n      Annotation: \"주석\",\r\n      Finetune: \"미세 조정\",\r\n      Brightness: \"명도\",\r\n      Contrast: \"차이\",\r\n      Hue: \"색조\",\r\n      Saturation: \"포화\",\r\n      Opacity: \"불투명\",\r\n      Blur: \"흐림\",\r\n      Sharpen: \"갈다\",\r\n      Exposure: \"노출\",\r\n      Filter: \"필터\",\r\n      Default: \"기본\",\r\n      Chrome: \"크롬\",\r\n      Cold: \"추운\",\r\n      Warm: \"따뜻한\",\r\n      Grayscale: \"그레이스케일\",\r\n      BlackAndWhite: \"검정색과 흰색\",\r\n      Sepia: \"세피아\",\r\n      Invert: \"거꾸로 하다\",\r\n      Text: \"텍스트 추가\",\r\n      Pen: \"펜\",\r\n      Reset: \"초기화\",\r\n      Save: \"구하다\",\r\n      Select: \"선택하다\",\r\n      RotateLeft: \"왼쪽으로 회전\",\r\n      RotateRight: \"오른쪽으로 회전\",\r\n      HorizontalFlip: \"수평 뒤집기\",\r\n      VerticalFlip: \"수직 뒤집기\",\r\n      OK: \"좋아요\",\r\n      Cancel: \"취소\",\r\n      DlgOK: \"좋아요\",\r\n      FillColor: \"채우기 색상\",\r\n      StrokeColor: \"획 색상\",\r\n      StrokeWidth: \"획 폭\",\r\n      FontFamily: \"글꼴군\",\r\n      FontStyle: \"글꼴 스타일\",\r\n      FontSize: \"글꼴 크기\",\r\n      FontColor: \"글꼴 색상\",\r\n      Pan: \"팬\",\r\n      Move: \"이동하다\",\r\n      Load: \"짐\",\r\n      Custom: \"관습\",\r\n      Square: \"정사각형\",\r\n      Circle: \"원\",\r\n      Ellipse: \"타원\",\r\n      Rectangle: \"직사각형\",\r\n      Line: \"선\",\r\n      Arrow: \"화살\",\r\n      Path: \"길\",\r\n      Bold: \"용감한\",\r\n      Italic: \"이탤릭체\",\r\n      BoldItalic: \"굵은 이탤릭체\",\r\n      XSmall: \"X-소형\",\r\n      Small: \"작은\",\r\n      Medium: \"중간\",\r\n      Large: \"크기가 큰\",\r\n      XLarge: \"특대형\",\r\n      ABC: \"알파벳\",\r\n      Browse: \"검색\",\r\n      Duplicate: \"복제하다\",\r\n      Remove: \"제거하다\",\r\n      EditText: \"텍스트 편집\",\r\n      Start: \"시작\",\r\n      End: \"끝\",\r\n      Bar: \"술집\",\r\n      ArrowSolid: \"화살표 솔리드\",\r\n      CircleSolid: \"원 솔리드\",\r\n      SquareSolid: \"정사각형 솔리드\",\r\n      None: \"없음\",\r\n      CropSelection: \"자르기 선택\",\r\n      Image: \"이미지 추가\",\r\n      Transparency: \"투명도\",\r\n      Height: \"키\",\r\n      Width: \"너비\",\r\n      AspectRatio: \"종횡비 유지\",\r\n      W: \"여\",\r\n      H: \"시간\",\r\n      DragText: \"여기에 이미지를 드래그 앤 드롭하거나\",\r\n      DropText: \"여기에 이미지를 놓거나\",\r\n      BrowseText: \"여기에서 찾아보세요...\",\r\n      SupportText: \"지원:\",\r\n      Frame: \"액자\",\r\n      Mat: \"매트\",\r\n      Bevel: \"사각\",\r\n      Inset: \"삽입\",\r\n      Hook: \"훅\",\r\n      Color: \"색상\",\r\n      Size: \"크기\",\r\n      Offset: \"오프셋\",\r\n      Radius: \"반지름\",\r\n      Amount: \"양\",\r\n      Resize: \"크기 조정\",\r\n      Border: \"국경\",\r\n      Solid: \"단단한\",\r\n      Dashed: \"점선\",\r\n      Dotted: \"점이 찍힌\",\r\n      GradientColor: \"그라데이션 색상\",\r\n      ConfirmDialogHeader: \"변경 사항 저장 확인\",\r\n      ConfirmDialogContent: \"이미지에 대한 변경 사항을 저장하시겠습니까?\",\r\n      AlertDialogHeader: \"지원되지 않는 파일\",\r\n      AlertDialogContent: \"삭제된 파일은 지원되지 않습니다.\",\r\n      Yes: \"예\",\r\n      No: \"아니요\",\r\n      ImageErrorDialogHeader: \"이미지 선택 오류\",\r\n      ImageErrorDialogContent: \"열려는 이미지를 선택하기만 하면 됩니다.\",\r\n      Straighten: \"기한을 지키다\",\r\n      NoOutline: \"윤곽이 없다.\",\r\n      Clone: \"은유\",\r\n      Delete: \"파괴하다\",\r\n      SaveAs: \"다른 이름으로 저장\",\r\n      ImageName: \"이미지 이름\",\r\n      Format: \"체재\",\r\n      Quality: \"품질\",\r\n      Download: \"다운로드\",\r\n      Close: \"닫다\",\r\n      ImageSize: \"이미지 크기\",\r\n      QualityInfo: \"이미지 품질 옵션은 JPEG 형식에서만 사용할 수 있습니다.\",\r\n      Good: \"좋은\",\r\n      Great: \"엄청난\",\r\n      Highest: \"제일 높은\",\r\n      BringForward: \"앞으로 가져\",\r\n      SendBackward: \"뒤로 보내십시오\",\r\n      SendToBack: \"뒤로 보내십시오\",\r\n      BringToFront: \"앞으로 가져 오기\",\r\n      ZOrder: \"z- 주문\",\r\n      Redact: \"편집\",\r\n      Pixelate: \"픽셀 레이트\",\r\n      BorderRadius: \"경계 반경\",\r\n      TextOutlineColor: \"개요 색상\",\r\n      TextOutlineWidth: \"개요 너비\",\r\n    },\r\n    mention: {\r\n      noRecordsTemplate: \"기록 없음\",\r\n    },\r\n    inplaceeditor: {\r\n      save: \"구하다\",\r\n      cancel: \"취소\",\r\n      loadingText: \"로드 중...\",\r\n      editIcon: \"수정하려면 클릭하세요.\",\r\n      editAreaClick: \"수정하려면 클릭하세요.\",\r\n      editAreaDoubleClick: \"편집하려면 두 번 클릭하세요.\",\r\n    },\r\n    PdfViewer: {\r\n      PdfViewer: \"PDF 뷰어\",\r\n      Cancel: \"취소\",\r\n      \"Download file\": \"파일 다운로드\",\r\n      Download: \"다운로드\",\r\n      \"Enter Password\": \"이 문서는 비밀번호로 보호되어 있습니다. \",\r\n      \"File Corrupted\": \"파일이 손상됨\",\r\n      \"File Corrupted Content\": \"파일이 손상되어 열 수 없습니다.\",\r\n      \"Fit Page\": \"페이지에 맞추기\",\r\n      \"Fit Width\": \"너비에 맞게\",\r\n      Automatic: \"자동적 인\",\r\n      \"Go To First Page\": \"첫 페이지 표시\",\r\n      \"Invalid Password\": \"잘못된 비밀번호. \",\r\n      \"Next Page\": \"다음 페이지 표시\",\r\n      OK: \"좋아요\",\r\n      Open: \"파일 열기\",\r\n      \"Page Number\": \"현재 페이지 번호\",\r\n      \"Previous Page\": \"이전 페이지 표시\",\r\n      \"Go To Last Page\": \"마지막 페이지 표시\",\r\n      Zoom: \"줌\",\r\n      \"Zoom In\": \"확대\",\r\n      \"Zoom Out\": \"축소\",\r\n      \"Page Thumbnails\": \"페이지 축소판\",\r\n      Bookmarks: \"북마크\",\r\n      Print: \"파일 인쇄\",\r\n      \"Organize Pages\": \"페이지 구성\",\r\n      \"Insert Right\": \"오른쪽 삽입\",\r\n      \"Insert Left\": \"왼쪽 삽입\",\r\n      Total: \"총\",\r\n      Pages: \"페이지\",\r\n      \"Rotate Right\": \"오른쪽으로 회전하십시오\",\r\n      \"Rotate Left\": \"왼쪽으로 회전\",\r\n      \"Delete Page\": \"페이지 삭제\",\r\n      \"Delete Pages\": \"페이지 삭제\",\r\n      \"Copy Page\": \"사본 페이지\",\r\n      \"Copy Pages\": \"사본 페이지\",\r\n      \"Import Document\": \"문서 가져 오기\",\r\n      Save: \"구하다\",\r\n      \"Save As\": \"다른 이름으로 저장\",\r\n      \"Select All\": \"모두 선택\",\r\n      \"Password Protected\": \"비밀번호 필요\",\r\n      Copy: \"복사\",\r\n      \"Text Selection\": \"텍스트 선택 도구\",\r\n      Panning: \"팬 모드\",\r\n      \"Text Search\": \"텍스트 찾기\",\r\n      \"Find in document\": \"문서에서 찾기\",\r\n      \"Match case\": \"성냥갑\",\r\n      \"Match any word\": \"모든 단어와 일치하십시오\",\r\n      Apply: \"적용하다\",\r\n      GoToPage: \"페이지로 이동\",\r\n      \"No Matches\":\r\n        \"PDF 뷰어가 문서 검색을 마쳤습니다. 일치하는 항목이 없습니다.\",\r\n      \"No More Matches\":\r\n        \"PDF 뷰어가 문서 검색을 마쳤습니다. 더 이상 일치하는 항목이 없습니다.\",\r\n      \"Exact Matches\": \"정확히 일치합니다\",\r\n      \"Total Matches\": \"총 경기\",\r\n      Undo: \"실행 취소\",\r\n      Redo: \"다시 하다\",\r\n      Annotation: \"주석 추가 또는 편집\",\r\n      FormDesigner: \"양식 필드를 추가하고 편집하십시오\",\r\n      Highlight: \"텍스트 강조\",\r\n      Underline: \"밑줄 텍스트\",\r\n      Strikethrough: \"취소선 텍스트\",\r\n      Delete: \"주석 삭제\",\r\n      Opacity: \"불투명\",\r\n      \"Color edit\": \"색상 변경\",\r\n      \"Opacity edit\": \"불투명도 변경\",\r\n      \"Highlight context\": \"가장 밝은 부분\",\r\n      \"Underline context\": \"밑줄\",\r\n      \"Strikethrough context\": \"파업\",\r\n      \"Server error\": \"웹 서비스가 듣고 있지 않습니다. \",\r\n      \"Client error\":\r\n        \"클라이언트 측 오류가 발견됩니다. ServerActionSettings 속성의 AjaxRequestSettings 속성 및 웹 작업 방법에 제공된 사용자 정의 헤더를 확인하십시오.\",\r\n      \"Open text\": \"열려 있는\",\r\n      \"First text\": \"첫 페이지\",\r\n      \"Previous text\": \"이전 페이지\",\r\n      \"Next text\": \"다음 페이지\",\r\n      \"Last text\": \"마지막 페이지\",\r\n      \"Zoom in text\": \"확대\",\r\n      \"Zoom out text\": \"축소\",\r\n      \"Selection text\": \"선택\",\r\n      \"Pan text\": \"팬\",\r\n      \"Print text\": \"인쇄\",\r\n      \"Search text\": \"찾다\",\r\n      \"Annotation Edit text\": \"주석 편집\",\r\n      \"FormDesigner Edit text\": \"양식 필드를 추가하고 편집하십시오\",\r\n      \"Line Thickness\": \"선 두께\",\r\n      \"Line Properties\": \"선 속성\",\r\n      \"Start Arrow\": \"시작 화살표\",\r\n      \"End Arrow\": \"끝 화살표\",\r\n      \"Line Style\": \"선 스타일\",\r\n      \"Fill Color\": \"채우기 색상\",\r\n      \"Line Color\": \"선 색상\",\r\n      None: \"없음\",\r\n      \"Open Arrow\": \"열려 있는\",\r\n      \"Closed Arrow\": \"닫은\",\r\n      \"Round Arrow\": \"둥근\",\r\n      \"Square Arrow\": \"정사각형\",\r\n      \"Diamond Arrow\": \"다이아몬드\",\r\n      Butt: \"대상\",\r\n      Cut: \"자르다\",\r\n      Paste: \"반죽\",\r\n      \"Delete Context\": \"삭제\",\r\n      Properties: \"속성\",\r\n      \"Add Stamp\": \"스탬프 추가\",\r\n      \"Add Shapes\": \"도형 추가\",\r\n      \"Stroke edit\": \"획 색상 변경\",\r\n      \"Change thickness\": \"테두리 두께 변경\",\r\n      \"Add line\": \"라인 추가\",\r\n      \"Add arrow\": \"화살표 추가\",\r\n      \"Add rectangle\": \"직사각형 추가\",\r\n      \"Add circle\": \"서클 추가\",\r\n      \"Add polygon\": \"다각형 추가\",\r\n      \"Add Comments\": \"댓글 추가\",\r\n      Comments: \"코멘트\",\r\n      SubmitForm: \"양식 제출\",\r\n      \"No Comments Yet\": \"아직 코멘트가 없습니다\",\r\n      Accepted: \"수락됨\",\r\n      Completed: \"완전한\",\r\n      Cancelled: \"취소 된\",\r\n      Rejected: \"거부됨\",\r\n      \"Leader Length\": \"지시선 길이\",\r\n      \"Scale Ratio\": \"스케일 비율\",\r\n      Calibrate: \"교정\",\r\n      \"Calibrate Distance\": \"거리 교정\",\r\n      \"Calibrate Perimeter\": \"둘레 보정\",\r\n      \"Calibrate Area\": \"영역 교정\",\r\n      \"Calibrate Radius\": \"반경 교정\",\r\n      \"Calibrate Volume\": \"볼륨 교정\",\r\n      Depth: \"깊이\",\r\n      Closed: \"닫은\",\r\n      Round: \"둥근\",\r\n      Square: \"정사각형\",\r\n      Diamond: \"다이아몬드\",\r\n      Edit: \"편집하다\",\r\n      Comment: \"논평\",\r\n      \"Comment Panel\": \"댓글 패널\",\r\n      \"Set Status\": \"상태 설정\",\r\n      Post: \"우편\",\r\n      Page: \"페이지\",\r\n      \"Add a comment\": \"의견을 추가하다\",\r\n      \"Add a reply\": \"답글 추가\",\r\n      \"Import Annotations\": \"JSON 파일에서 주석을 가져옵니다\",\r\n      \"Export Annotations\": \"JSON 파일로 주석을 내 보냅니다\",\r\n      \"Export XFDF\": \"XFDF 파일로 주석을 내 보냅니다\",\r\n      \"Import XFDF\": \"XFDF 파일에서 주석을 가져옵니다\",\r\n      Add: \"추가하다\",\r\n      Clear: \"분명한\",\r\n      Bold: \"용감한\",\r\n      Italic: \"이탤릭체\",\r\n      Strikethroughs: \"취소선\",\r\n      Underlines: \"밑줄\",\r\n      Superscript: \"어깨 기호\",\r\n      Subscript: \"아래첨자\",\r\n      \"Align left\": \"왼쪽 정렬\",\r\n      \"Align right\": \"오른쪽 정렬\",\r\n      Center: \"센터\",\r\n      Justify: \"신이 옳다고 하다\",\r\n      \"Font color\": \"글꼴 색상\",\r\n      \"Text Align\": \"텍스트 정렬\",\r\n      \"Text Properties\": \"글꼴 스타일\",\r\n      SignatureFieldDialogHeaderText: \"서명 추가\",\r\n      HandwrittenSignatureDialogHeaderText: \"서명 추가\",\r\n      InitialFieldDialogHeaderText: \"초기 추가\",\r\n      HandwrittenInitialDialogHeaderText: \"초기 추가\",\r\n      \"Draw Ink\": \"잉크를 그리십시오\",\r\n      Create: \"만들다\",\r\n      \"Font family\": \"글꼴군\",\r\n      \"Font size\": \"글꼴 크기\",\r\n      \"Free Text\": \"무료 문자\",\r\n      \"Import Failed\":\r\n        \"유효하지 않은 JSON 파일 유형 또는 파일 이름; 유효한 JSON 파일을 선택하십시오\",\r\n      \"Import PDF Failed\":\r\n        \"유효하지 않은 PDF 파일 유형 또는 PDF 파일을 찾을 수 없습니다. 유효한 PDF 파일을 선택하십시오\",\r\n      \"File not found\": \"수입 된 JSON 파일은 원하는 위치에서 찾을 수 없습니다.\",\r\n      \"Export Failed\":\r\n        \"수출 주석 조치가 실패했습니다. 주석이 올바르게 추가되도록하십시오\",\r\n      of: \"~의\",\r\n      Dynamic: \"동적\",\r\n      \"Standard Business\": \"표준 비즈니스\",\r\n      \"Sign Here\": \"여기에 서명하세요\",\r\n      \"Custom Stamp\": \"맞춤 스탬프\",\r\n      \"Enter Signature as Name\": \"당신의 이름을 입력\",\r\n      \"Draw-hand Signature\": \"그리다\",\r\n      \"Type Signature\": \"유형\",\r\n      \"Upload Signature\": \"업로드\",\r\n      \"Browse Signature Image\": \"검색\",\r\n      \"Save Signature\": \"서명 저장\",\r\n      \"Save Initial\": \"초기 저장\",\r\n      Textbox: \"텍스트 상자\",\r\n      Password: \"비밀번호\",\r\n      \"Check Box\": \"체크박스\",\r\n      \"Radio Button\": \"라디오 버튼\",\r\n      Dropdown: \"쓰러지 다\",\r\n      \"List Box\": \"리스트 박스\",\r\n      Signature: \"서명\",\r\n      \"Delete FormField\": \"양식 필드를 삭제하십시오\",\r\n      \"Textbox Properties\": \"텍스트 상자 속성\",\r\n      Name: \"이름\",\r\n      Tooltip: \"툴팁\",\r\n      Value: \"값\",\r\n      \"Form Field Visibility\": \"현장 가시성을 형성하십시오\",\r\n      \"Read Only\": \"읽기 전용\",\r\n      Required: \"필수의\",\r\n      Checked: \"체크됨\",\r\n      \"Show Printing\": \"인쇄를 보여주십시오\",\r\n      Formatting: \"체재\",\r\n      Fill: \"채우다\",\r\n      Border: \"국경\",\r\n      \"Border Color\": \"테두리 색상\",\r\n      Thickness: \"두께\",\r\n      \"Max Length\": \"최대 길이\",\r\n      \"List Item\": \"상품명\",\r\n      \"Export Value\": \"항목 값\",\r\n      \"Dropdown Item List\": \"드롭 다운 항목 목록\",\r\n      \"List Box Item List\": \"목록 상자 항목 목록\",\r\n      General: \"일반적인\",\r\n      Appearance: \"모습\",\r\n      Options: \"옵션\",\r\n      \"Delete Item\": \"삭제\",\r\n      Up: \"위로\",\r\n      Down: \"아래에\",\r\n      Multiline: \"여러 줄\",\r\n      Revised: \"개정됨\",\r\n      Reviewed: \"검토됨\",\r\n      Received: \"받았다\",\r\n      Confidential: \"비밀의\",\r\n      Approved: \"승인됨\",\r\n      \"Not Approved\": \"승인이 거절 됨\",\r\n      Witness: \"증인\",\r\n      \"Initial Here\": \"여기에 초기\",\r\n      Draft: \"초안\",\r\n      Final: \"결정적인\",\r\n      \"For Public Release\": \"공개 릴리스 용\",\r\n      \"Not For Public Release\": \"공개 출시가 아닙니다\",\r\n      \"For Comment\": \"의견을 위해\",\r\n      Void: \"무효의\",\r\n      \"Preliminary Results\": \"예비 결과\",\r\n      \"Information Only\": \"정보 만\",\r\n      in: \"~에\",\r\n      m: \"중\",\r\n      ft_in: \"ft_in\",\r\n      ft: \"피트\",\r\n      p: \"피\",\r\n      cm: \"센티미터\",\r\n      mm: \"mm\",\r\n      pt: \"태평양 표준시\",\r\n      cu: \"세제곱\",\r\n      sq: \"평방\",\r\n      Initial: \"초기의\",\r\n      \"No Search Matches\": \"검색 결과가 없습니다\",\r\n      \"No More Search Matches\": \"더 이상 일치하는 항목이 없습니다.\",\r\n      \"No matches\": \"뷰어가 문서 검색을 완료했습니다. \",\r\n      \"No Text Found\": \"텍스트를 찾을 수 없습니다\",\r\n    },\r\n    stepper: {\r\n      optional: \"선택 과목\",\r\n    },\r\n  },\r\n};\r\n","export const frLocalization = {\r\n  fr: {\r\n    grid: {\r\n      EmptyRecord: \"Aucun enregistrement à afficher\",\r\n      True: \"vrai\",\r\n      False: \"faux\",\r\n      InvalidFilterMessage: \"Données de filtre non valides\",\r\n      GroupDropArea:\r\n        \"Faites glisser un en-tête de colonne ici pour regrouper sa colonne\",\r\n      UnGroup: \"Cliquez ici pour dissocier\",\r\n      GroupDisable: \"Le regroupement est désactivé pour cette colonne\",\r\n      FilterbarTitle: 'Cellule de la barre de filtre \"s',\r\n      EmptyDataSourceError:\r\n        \"DataSource ne doit pas être vide lors du chargement initial, car les colonnes sont générées à partir de dataSource dans la grille de colonnes AutoGenerate\",\r\n      Add: \"Ajouter\",\r\n      Edit: \"Éditer\",\r\n      Cancel: \"Annuler\",\r\n      Update: \"Mise à jour\",\r\n      Delete: \"Supprimer\",\r\n      Print: \"Imprimer\",\r\n      Pdfexport: \"Exportation PDF\",\r\n      Excelexport: \"Exportation Excel\",\r\n      Wordexport: \"Exportation Word\",\r\n      Csvexport: \"Exportation CSV\",\r\n      Search: \"Rechercher\",\r\n      Columnchooser: \"Colonnes\",\r\n      Save: \"Enregistrer\",\r\n      Item: \"élément\",\r\n      Items: \"éléments\",\r\n      EditOperationAlert:\r\n        \"Aucun enregistrement sélectionné pour l'opération de modification\",\r\n      DeleteOperationAlert:\r\n        \"Aucun enregistrement sélectionné pour l'opération de suppression\",\r\n      SaveButton: \"Enregistrer\",\r\n      OKButton: \"OK\",\r\n      CancelButton: \"Annuler\",\r\n      EditFormTitle: \"Détails de\",\r\n      AddFormTitle: \"Ajouter un nouvel enregistrement\",\r\n      BatchSaveConfirm: \"Voulez-vous vraiment enregistrer les modifications ?\",\r\n      BatchSaveLostChanges:\r\n        \"Les modifications non enregistrées seront perdues. Êtes-vous sûr de vouloir continuer ?\",\r\n      ConfirmDelete: \"Voulez-vous vraiment supprimer cet enregistrement ?\",\r\n      CancelEdit: \"Voulez-vous vraiment annuler les modifications ?\",\r\n      ChooseColumns: \"Choisissez la colonne\",\r\n      SearchColumns: \"colonnes de recherche\",\r\n      Matchs: \"Aucun résultat\",\r\n      FilterButton: \"Filtrer\",\r\n      ClearButton: \"Effacer\",\r\n      StartsWith: \"Commence par\",\r\n      EndsWith: \"Se termine par\",\r\n      Contains: \"Contient\",\r\n      Equal: \"Égal\",\r\n      NotEqual: \"Différent\",\r\n      LessThan: \"Inférieur à\",\r\n      LessThanOrEqual: \"Inférieur ou égal à\",\r\n      GreaterThan: \"Supérieur à\",\r\n      GreaterThanOrEqual: \"Supérieur ou égal à\",\r\n      ChooseDate: \"Choisissez une date\",\r\n      EnterValue: \"Entrez la valeur\",\r\n      Copy: \"Copier\",\r\n      Group: \"Regrouper par cette colonne\",\r\n      Ungroup: \"Dissocier par cette colonne\",\r\n      autoFitAll: \"Ajuster automatiquement toutes les colonnes\",\r\n      autoFit: \"Ajuster automatiquement cette colonne\",\r\n      Export: \"Exporter\",\r\n      FirstPage: \"Première page\",\r\n      LastPage: \"Dernière page\",\r\n      PreviousPage: \"Page précédente\",\r\n      NextPage: \"Page suivante\",\r\n      SortAscending: \"Trier par ordre croissant\",\r\n      SortDescending: \"Trier par ordre décroissant\",\r\n      EditRecord: \"Modifier l'enregistrement\",\r\n      DeleteRecord: \"Supprimer l'enregistrement\",\r\n      FilterMenu: \"Filtrer\",\r\n      SelectAll: \"Tout sélectionner\",\r\n      Blanks: \"Vides\",\r\n      FilterTrue: \"Vrai\",\r\n      FilterFalse: \"Faux\",\r\n      NoResult: \"Aucun résultat\",\r\n      ClearFilter: \"Effacer le filtre\",\r\n      NumberFilter: \"Filtres numériques\",\r\n      TextFilter: \"Filtres de texte\",\r\n      DateFilter: \"Filtres de date\",\r\n      DateTimeFilter: \"Filtres DateTime\",\r\n      MatchCase: \"Étui de correspondance\",\r\n      Between: \"Entre\",\r\n      CustomFilter: \"Filtre personnalisé\",\r\n      CustomFilterPlaceHolder: \"Entrez la valeur\",\r\n      CustomFilterDatePlaceHolder: \"Choisissez une date\",\r\n      AND: \"ET\",\r\n      OR: \"OU\",\r\n      ShowRowsWhere: \"Afficher les lignes où :\",\r\n      NotStartsWith: \"Ne commence pas par\",\r\n      Like: \"Comme\",\r\n      NotEndsWith: \"Ne se termine pas par\",\r\n      NotContains: \"Ne contient pas\",\r\n      IsNull: \"Null\",\r\n      NotNull: \"Non Null\",\r\n      IsEmpty: \"Vide\",\r\n      IsNotEmpty: \"Non vide\",\r\n      AddCurrentSelection: \"Ajouter la sélection actuelle au filtre\",\r\n      UnGroupButton: \"Cliquez ici pour dissocier\",\r\n      AutoFitAll: \"Ajuster automatiquement toutes les colonnes\",\r\n      AutoFit: \"Ajuster automatiquement cette colonne\",\r\n      Clear: \"Dégager\",\r\n      FilterMenuDialogARIA: \"Boîte de dialogue du menu de filtre\",\r\n      ExcelFilterDialogARIA: \"Boîte de dialogue du filtre Excel\",\r\n      DialogEditARIA: \"Boîte de dialogue de modification\",\r\n      ColumnChooserDialogARIA: \"Sélecteur de colonne\",\r\n      ColumnMenuDialogARIA: \"Boîte de dialogue du menu des colonnes\",\r\n      CustomFilterDialogARIA: \"Boîte de dialogue du filtre personnalisé\",\r\n      SortAtoZ: \"Trier de A à Z\",\r\n      SortZtoA: \"Trier de Z à A\",\r\n      SortByOldest: \"Trier par le plus ancien\",\r\n      SortByNewest: \"Trier par le plus récent\",\r\n      SortSmallestToLargest: \"Trier du plus petit au plus grand\",\r\n      SortLargestToSmallest: \"Trier du plus grand au plus petit\",\r\n      Sort: \"Trier\",\r\n      FilterDescription: \"Appuyez sur Alt Bas pour ouvrir le menu du filtre\",\r\n      SortDescription: \"Appuyez sur Entrée pour trier\",\r\n      ColumnMenuDescription:\r\n        \"Appuyez sur Alt Bas pour ouvrir le menu des colonnes\",\r\n      GroupDescription: \"Appuyez sur Ctrl espace pour grouper\",\r\n      ColumnHeader: \" en-tête de colonne\",\r\n      TemplateCell: \" est une cellule modèle\",\r\n      CommandColumnAria: \"est l'en-tête de colonne de commande\",\r\n      DialogEdit: \"Modifier la boîte de dialogue\",\r\n      ClipBoard: \"Presse-papiers\",\r\n      GroupButton: \"Bouton de regroupement\",\r\n      UnGroupAria: \"Bouton de dissociation\",\r\n      GroupSeperator: \"Séparateur pour les colonnes groupées\",\r\n      UnGroupIcon: \"Dissocier la colonne groupée\",\r\n      GroupedSortIcon: \"Trier la colonne groupée\",\r\n      GroupedDrag: \"Faites glisser la colonne groupée\",\r\n      GroupCaption: \" est une cellule de légende de groupe\",\r\n      CheckBoxLabel: \"Case à cocher\",\r\n      Expanded: \"Étendue\",\r\n      Collapsed: \"S'est effondré\",\r\n      SelectAllCheckbox: \"Case à cocher Tout sélectionner\",\r\n      SelectRow: \"Sélectionner la ligne\",\r\n      AscendingText: \"Ascendant\",\r\n      DescendingText: \"Descendant\",\r\n      NoneText: \"Aucun\",\r\n    },\r\n    pager: {\r\n      currentPageInfo: \"{0} de {1} pages\",\r\n      totalItemsInfo: \"({0} éléments)\",\r\n      firstPageTooltip: \"Aller à la première page\",\r\n      lastPageTooltip: \"Aller à la dernière page\",\r\n      nextPageTooltip: \"Aller à la page suivante\",\r\n      previousPageTooltip: \"Aller à la page précédente\",\r\n      nextPagerTooltip: \"Aller aux éléments suivants du téléavertisseur\",\r\n      previousPagerTooltip:\r\n        \"Accéder aux éléments de téléavertisseur précédents\",\r\n      pagerDropDown: \"Articles par page\",\r\n      pagerAllDropDown: \"Articles\",\r\n      All: \"Tout\",\r\n      totalItemInfo: \"({0} élément)\",\r\n      Container: \"Conteneur de téléavertisseur\",\r\n      Information: \"Informations sur le téléavertisseur\",\r\n      ExternalMsg: \"Message externe du téléavertisseur\",\r\n      Page: \"Page\",\r\n      Of: \" de \",\r\n      Pages: \" pages\",\r\n    },\r\n    kanban: {\r\n      items: \"articles\",\r\n      min: \"Min\",\r\n      max: \"Max\",\r\n      cardsSelected: \"Cartes sélectionnées\",\r\n      addTitle: \"Ajouter une nouvelle carte\",\r\n      editTitle: \"Modifier les détails de la carte\",\r\n      deleteTitle: \"Supprimer la carte\",\r\n      deleteContent: \"Êtes-vous sûr de vouloir supprimer cette carte ?\",\r\n      save: \"sauver\",\r\n      delete: \"Supprimer\",\r\n      cancel: \"Annuler\",\r\n      yes: \"Oui\",\r\n      no: \"Non\",\r\n      close: \"Fermer\",\r\n      noCard: \"Aucune carte à afficher\",\r\n      unassigned: \"Non assigné\",\r\n      cards: \"Cartes\",\r\n    },\r\n    dropdowns: {\r\n      noRecordsTemplate: \"Aucun enregistrement trouvé\",\r\n      actionFailureTemplate: \"La demande a échoué\",\r\n      overflowCountTemplate: \"+${count} de plus..\",\r\n      selectAllText: \"Tout sélectionner\",\r\n      unSelectAllText: \"Tout déselectionner\",\r\n      totalCountTemplate: \"${count} sélectionnés\",\r\n    },\r\n    \"drop-down-list\": {\r\n      noRecordsTemplate: \"Aucun enregistrement trouvé\",\r\n      actionFailureTemplate: \"La demande a échoué\",\r\n    },\r\n    \"combo-box\": {\r\n      noRecordsTemplate: \"Aucun enregistrement trouvé\",\r\n      actionFailureTemplate: \"La demande a échoué\",\r\n    },\r\n    \"auto-complete\": {\r\n      noRecordsTemplate: \"Aucun enregistrement trouvé\",\r\n      actionFailureTemplate: \"La demande a échoué\",\r\n    },\r\n    \"multi-select\": {\r\n      noRecordsTemplate: \"Aucun enregistrement trouvé\",\r\n      actionFailureTemplate: \"La demande a échoué\",\r\n      overflowCountTemplate: \"+${count} de plus..\",\r\n      selectAllText: \"Tout sélectionner\",\r\n      unSelectAllText: \"Tout déselectionner\",\r\n      totalCountTemplate: \"${count} sélectionnés\",\r\n    },\r\n    listbox: {\r\n      noRecordsTemplate: \"Aucun enregistrement trouvé\",\r\n      actionFailureTemplate: \"La demande a échoué\",\r\n      selectAllText: \"Tout sélectionner\",\r\n      unSelectAllText: \"Tout déselectionner\",\r\n      moveUp: \"Déplacer vers le haut\",\r\n      moveDown: \"Déplacer vers le bas\",\r\n      moveTo: \"Déplacer à\",\r\n      moveFrom: \"Déplacer de\",\r\n      moveAllTo: \"Déplacer tout vers\",\r\n      moveAllFrom: \"Tout déplacer de\",\r\n    },\r\n    spreadsheet: {\r\n      InsertingEmptyValue: \"La valeur de référence n'est pas valide.\",\r\n      FindValue: \"Trouver la valeur\",\r\n      ReplaceValue: \"Remplacer la valeur\",\r\n      FindReplaceTooltip: \"Rechercher et remplacer\",\r\n      ByRow: \"Par lignes\",\r\n      ByColumn: \"Par colonnes\",\r\n      MatchExactCellElements: \"Correspondance exacte du contenu de la cellule\",\r\n      EnterCellAddress: \"Entrez l'adresse de la cellule\",\r\n      FindAndReplace: \"Trouver et remplacer\",\r\n      ReplaceAllEnd: \" correspondances remplacées par \",\r\n      FindNextBtn: \"Rechercher suivant\",\r\n      FindPreviousBtn: \"Rechercher précédent\",\r\n      ReplaceBtn: \"Remplacer\",\r\n      ReplaceAllBtn: \"Tout remplacer\",\r\n      GotoHeader: \"Aller à\",\r\n      Sheet: \"Feuille\",\r\n      SearchWithin: \"Rechercher dans\",\r\n      SearchBy: \"Rechercher par\",\r\n      Reference: \"Référence\",\r\n      Workbook: \"Cahier\",\r\n      NoElements: \"Nous n'avons pas trouvé ce que vous cherchiez.\",\r\n      FindWhat: \"Trouver quoi\",\r\n      ReplaceWith: \"Remplacer par\",\r\n      FileName: \"Nom de fichier\",\r\n      ExtendValidation:\r\n        \"La sélection contient certaines cellules sans validation des données. Voulez-vous étendre la validation à ces cellules ?\",\r\n      Yes: \"Oui\",\r\n      No: \"Non\",\r\n      PROPER:\r\n        \"Convertit un texte en cas approprié ; première lettre en majuscule et les autres lettres en minuscule.\",\r\n      Cut: \"Couper\",\r\n      Copy: \"Copier\",\r\n      Paste: \"Coller\",\r\n      PasteSpecial: \"Collage spécial\",\r\n      All: \"Tous\",\r\n      Values: \"Valeurs\",\r\n      Formats: \"Formats\",\r\n      Font: \"Police de caractère\",\r\n      FontSize: \"Taille de police\",\r\n      Bold: \"Audacieux\",\r\n      Italic: \"Italique\",\r\n      Underline: \"Souligner\",\r\n      Strikethrough: \"Barré\",\r\n      TextColor: \"Couleur du texte\",\r\n      FillColor: \"Couleur de remplissage\",\r\n      HorizontalAlignment: \"Alignement horizontal\",\r\n      AlignLeft: \"Aligner à gauche\",\r\n      AlignCenter: \"Aligner au centre\",\r\n      AlignRight: \"Aligner à droite\",\r\n      VerticalAlignment: \"Alignement vertical\",\r\n      AlignTop: \"Aligner en haut\",\r\n      AlignMiddle: \"Aligner au milieu\",\r\n      AlignBottom: \"Aligner en bas\",\r\n      MergeCells: \"Fusionner les cellules\",\r\n      MergeAll: \"Tout fusionner\",\r\n      MergeHorizontally: \"Fusionner horizontalement\",\r\n      MergeVertically: \"Fusionner verticalement\",\r\n      Unmerge: \"Annuler la fusion\",\r\n      UnmergeCells: \"Annuler la fusion des cellules\",\r\n      SelectMergeType: \"Sélectionner le type de fusion\",\r\n      MergeCellsAlert:\r\n        \"La fusion de cellules ne conservera que la valeur la plus à gauche (Uppermost). Fusionner quand même ?\",\r\n      PasteMergeAlert: \"Impossible de faire cela sur une cellule fusionnée.\",\r\n      Borders: \"Bordures\",\r\n      TopBorders: \"Bordures supérieures\",\r\n      LeftBorders: \"Bordures de gauche\",\r\n      RightBorders: \"Bordures à droite\",\r\n      BottomBorders: \"Bordures inférieures\",\r\n      AllBorders: \"Toutes les bordures\",\r\n      HorizontalBorders: \"Bordures horizontales\",\r\n      VerticalBorders: \"Bordures verticales\",\r\n      OutsideBorders: \"Bordures extérieures\",\r\n      InsideBorders: \"Bordures intérieures\",\r\n      NoBorders: \"Pas de bordures\",\r\n      BorderColor: \"Couleur des bordures\",\r\n      BorderStyle: \"Style des bordures\",\r\n      InsertFunction: \"Insérer une fonction\",\r\n      Insert: \"Insérer\",\r\n      Delete: \"Supprimer\",\r\n      DuplicateSheet: \"Dupliquer\",\r\n      MoveRight: \"Déplacer à droite\",\r\n      MoveLeft: \"Déplacer à gauche\",\r\n      Rename: \"Renommer\",\r\n      Hide: \"Cacher\",\r\n      NameBox: \"Boîte de nom\",\r\n      ShowHeaders: \"Afficher les en-têtes\",\r\n      HideHeaders: \"Masquer les en-têtes\",\r\n      ShowGridLines: \"Afficher les quadrillages\",\r\n      HideGridLines: \"Masquer les quadrillages\",\r\n      FreezePanes: \"Figer les volets\",\r\n      FreezeRows: \"Figer les lignes\",\r\n      FreezeColumns: \"Figer les colonnes\",\r\n      UnfreezePanes: \"Dégeler les volets\",\r\n      UnfreezeRows: \"Dégeler les lignes\",\r\n      UnfreezeColumns: \"Dégeler les colonnes\",\r\n      AddSheet: \"Ajouter une feuille\",\r\n      ListAllSheets: \"Répertorier toutes les feuilles\",\r\n      CollapseToolbar: \"Réduire la barre d'outils\",\r\n      ExpandToolbar: \"Développer la barre d'outils\",\r\n      CollapseFormulaBar: \"Réduire la barre de formule\",\r\n      ExpandFormulaBar: \"Agrandir la barre de formule\",\r\n      File: \"Fichier\",\r\n      Home: \"Domicile\",\r\n      Formulas: \"Formules\",\r\n      View: \"Vue\",\r\n      New: \"Nouveau\",\r\n      Open: \"Ouvrir\",\r\n      SaveAs: \"Enregistrer sous\",\r\n      ExcelXlsx: \"Microsoft Excel\",\r\n      ExcelXls: \"Microsoft Excel 97-2003\",\r\n      CSV: \"Valeurs séparées par des virgules\",\r\n      FormulaBar: \"Barre de formule\",\r\n      Sort: \"Trier\",\r\n      SortAscending: \"Ascendant\",\r\n      SortDescending: \"Décroissant\",\r\n      CustomSort: \"Tri personnalisé\",\r\n      AddColumn: \"Ajouter une colonne\",\r\n      ContainsHeader: \"Les données contiennent un en-tête\",\r\n      CaseSensitive: \"Sensible aux majuscules et minuscules\",\r\n      SortBy: \"Trier par\",\r\n      ThenBy: \"Puis par\",\r\n      SelectAColumn: \"Sélectionner une colonne\",\r\n      SortEmptyFieldError:\r\n        \"Tous les critères de tri doivent avoir une colonne spécifiée. Vérifiez les critères de tri sélectionnés et réessayez.\",\r\n      SortDuplicateFieldError:\r\n        \" est trié par valeurs plus d'une fois. Supprimez les critères de tri en double et réessayez.\",\r\n      SortOutOfRangeError:\r\n        \"Sélectionnez une cellule ou une plage à l'intérieur de la plage utilisée et réessayez.\",\r\n      MultiRangeSortError:\r\n        \"Cela ne peut pas être fait sur une sélection de plages multiples. Sélectionnez une seule plage et réessayez.\",\r\n      HideRow: \"Masquer la ligne\",\r\n      HideRows: \"Masquer les lignes\",\r\n      UnhideRows: \"Afficher les lignes\",\r\n      HideColumn: \"Masquer la colonne\",\r\n      HideColumns: \"Masquer les colonnes\",\r\n      UnhideColumns: \"Afficher les colonnes\",\r\n      InsertRow: \"Insérer une ligne\",\r\n      InsertRows: \"Insérer des lignes\",\r\n      Above: \"Au-dessus\",\r\n      Below: \"En-dessous\",\r\n      InsertColumn: \"Insérer une colonne\",\r\n      InsertColumns: \"Insérer des colonnes\",\r\n      Before: \"Avant\",\r\n      After: \"Après\",\r\n      DeleteRow: \"Supprimer la ligne\",\r\n      DeleteRows: \"Supprimer les lignes\",\r\n      DeleteColumn: \"Supprimer la colonne\",\r\n      DeleteColumns: \"Supprimer les colonnes\",\r\n      Ok: \"OK\",\r\n      Close: \"Fermer\",\r\n      MoreOptions: \"Plus d'options\",\r\n      Cancel: \"Annuler\",\r\n      Apply: \"Appliquer\",\r\n      MoreColors: \"Plus de couleurs\",\r\n      StandardColors: \"Couleurs standard\",\r\n      General: \"Général\",\r\n      Number: \"Nombre\",\r\n      Currency: \"Devise\",\r\n      Accounting: \"Comptabilité\",\r\n      ShortDate: \"Date courte\",\r\n      LongDate: \"Date longue\",\r\n      Time: \"Temps\",\r\n      Percentage: \"Pourcentage\",\r\n      Fraction: \"Fraction\",\r\n      Scientific: \"Scientifique\",\r\n      Text: \"Texte\",\r\n      NumberFormat: \"Format de nombre\",\r\n      MobileFormulaBarPlaceHolder: \"Entrez une valeur ou une formule\",\r\n      PasteAlert:\r\n        \"Vous ne pouvez pas coller ceci ici, car la zone de copie et la zone de collage ne sont pas de la même taille. Veuillez essayer de coller dans une autre plage.\",\r\n      DestroyAlert:\r\n        \"Voulez-vous vraiment détruire le classeur actuel sans enregistrer et créer un nouveau classeur ?\",\r\n      SheetRenameInvalidAlert:\r\n        \"Le nom de la feuille contient un caractère non valide.\",\r\n      SheetRenameEmptyAlert: \"Le nom de la feuille ne peut pas être vide.\",\r\n      SheetRenameAlreadyExistsAlert:\r\n        \"Le nom de la feuille existe déjà. Veuillez entrer un autre nom.\",\r\n      DeleteSheetAlert: \"Êtes-vous sûr de vouloir supprimer cette feuille ?\",\r\n      DeleteSingleLastSheetAlert:\r\n        \"Un classeur doit contenir au moins une feuille de calcul visible.\",\r\n      PickACategory: \"Choisissez une catégorie\",\r\n      Description: \"Description\",\r\n      UnsupportedFile: \"Fichier non pris en charge\",\r\n      DataLimitExceeded:\r\n        \"Les données du fichier sont trop volumineuses et le traitement prendra plus de temps, voulez-vous continuer ?\",\r\n      FileSizeLimitExceeded:\r\n        \"La taille du fichier est trop grande et le traitement prendra plus de temps, voulez-vous continuer ?\",\r\n      InvalidUrl: \"URL invalide\",\r\n      SUM: \"Ajoute une série de nombres et/ou de cellules.\",\r\n      SUMIF: \"Ajoute les cellules en fonction de la condition spécifiée.\",\r\n      SUMIFS: \"Ajoute les cellules en fonction des conditions spécifiées.\",\r\n      ABS: \"Renvoie la valeur d'un nombre sans son signe.\",\r\n      RAND: \"Renvoie un nombre aléatoire entre 0 et 1.\",\r\n      RANDBETWEEN:\r\n        \"Renvoie un entier aléatoire basé sur les valeurs spécifiées.\",\r\n      FLOOR:\r\n        \"Arrondit un nombre au multiple inférieur le plus proche d'un facteur donné.\",\r\n      CEILING:\r\n        \"Arrondit un nombre au multiple le plus proche d'un facteur donné.\",\r\n      PRODUCT: \"Multiplie une série de nombres et/ou de cellules.\",\r\n      AVERAGE:\r\n        \"Calcule la moyenne de la série de nombres et/ou de cellules excluant le texte.\",\r\n      AVERAGEIF:\r\n        \"Calcule la moyenne des cellules en fonction du critère spécifié.\",\r\n      AVERAGEIFS:\r\n        \"Calcule la moyenne des cellules en fonction des conditions spécifiées.\",\r\n      AVERAGEA:\r\n        \"Calcule la moyenne des cellules évaluant VRAI comme 1, texte et FAUX comme 0.\",\r\n      COUNT:\r\n        \"Compte les cellules qui contiennent des valeurs numériques dans une plage.\",\r\n      COUNTIF: \"Compte les cellules en fonction de la condition spécifiée.\",\r\n      COUNTIFS: \"Compte les cellules en fonction des conditions spécifiées.\",\r\n      COUNTA: \"Compte les cellules qui contiennent des valeurs dans une plage.\",\r\n      MIN: \"Renvoie le plus petit nombre d'arguments donnés.\",\r\n      MAX: \"Renvoie le plus grand nombre d'arguments donnés.\",\r\n      DATE: \"Renvoie la date en fonction de l'année, du mois et du jour donnés.\",\r\n      DAY: \"Renvoie le jour à partir de la date donnée.\",\r\n      DAYS: \"Renvoie le nombre de jours entre deux dates.\",\r\n      IF: \"Renvoie une valeur basée sur l'expression donnée.\",\r\n      IFS: \"Renvoie une valeur basée sur les multiples expressions données.\",\r\n      CalculateAND:\r\n        \"Renvoie TRUE si tous les arguments sont TRUE, sinon renvoie FALSE.\",\r\n      CalculateOR:\r\n        \"Renvoie TRUE si l'un des arguments est TRUE, sinon renvoie FALSE.\",\r\n      IFERROR:\r\n        \"Renvoie une valeur si aucune erreur n'est trouvée sinon retourne la valeur spécifiée.\",\r\n      CHOOSE:\r\n        \"Renvoie une valeur à partir d'une liste de valeurs, basée sur le numéro d'index.\",\r\n      INDEX:\r\n        \"Renvoie une valeur de la cellule dans une plage donnée en fonction du numéro de ligne et de colonne.\",\r\n      FIND: \"Renvoie la position d'une chaîne dans une autre chaîne, qui est sensible à la casse.\",\r\n      CONCATENATE: \"Combine deux ou plusieurs chaînes ensemble.\",\r\n      CONCAT: \"Concatène une liste ou une plage de chaînes de texte.\",\r\n      SUBTOTAL:\r\n        \"Renvoie le sous-total pour une plage à l'aide du numéro de fonction donné.\",\r\n      RADIANS: \"Convertit des degrés en radians.\",\r\n      MATCH:\r\n        \"Renvoie la position relative d'une valeur spécifiée dans une plage donnée.\",\r\n      SLOPE:\r\n        \"Renvoie la pente de la ligne à partir de la régression linéaire des points de données.\",\r\n      INTERCEPT:\r\n        \"Calcule le point de la ligne d'ordonnée à l'origine via une régression linéaire.\",\r\n      UNIQUE: \"Renvoie des valeurs uniques d'une plage ou d'un tableau.\",\r\n      TEXT: \"Convertit une valeur en texte dans le format numérique spécifié.\",\r\n      DefineNameExists: \"Ce nom existe déjà, essayez un autre nom.\",\r\n      CircularReference:\r\n        \"Lorsqu'une formule fait référence à une ou plusieurs références circulaires, cela peut entraîner un calcul incorrect.\",\r\n      SORT: \"Trie une plage d'un tableau\",\r\n      T: \"Vérifie si une valeur est du texte ou non et renvoie le texte.\",\r\n      EXACT:\r\n        \"Vérifie si deux chaînes de texte sont exactement identiques et renvoie TRUE ou FALSE.\",\r\n      LEN: \"Renvoie le nombre de caractères dans une chaîne donnée.\",\r\n      MOD: \"Renvoie le reste après qu'un nombre a été divisé par un diviseur.\",\r\n      ODD: \"Arrondit un nombre positif à l'entier impair le plus proche et un nombre négatif vers le bas.\",\r\n      PI: \"Renvoie la valeur de pi.\",\r\n      COUNTBLANK:\r\n        \"Renvoie le nombre de cellules vides dans une plage spécifiée.\",\r\n      EVEN: \"Arrondit un nombre positif à l'entier pair le plus proche et un nombre négatif vers le bas.\",\r\n      DECIMAL:\r\n        \"Convertit une représentation textuelle d'un nombre dans une base donnée en un nombre décimal.\",\r\n      ADDRESS:\r\n        \"Renvoie une référence de cellule sous forme de texte, en fonction des numéros de ligne et de colonne spécifiés.\",\r\n      CHAR: \"Renvoie le caractère correspondant au nombre spécifié.\",\r\n      CODE: \"Renvoie le code numérique du premier caractère d'une chaîne donnée.\",\r\n      DOLLAR: \"Convertit un nombre en texte au format monétaire.\",\r\n      SMALL: \"Renvoie la k-ième plus petite valeur dans un tableau donné.\",\r\n      LARGE: \"Renvoie la k-ième plus grande valeur dans un tableau donné.\",\r\n      TIME: \"Convertit les heures, les minutes et les secondes en texte au format horaire.\",\r\n      DEGREES: \"Convertit les radians en degrés.\",\r\n      FACT: \"Renvoie la factorielle d'un nombre.\",\r\n      MEDIAN: \"Renvoie la médiane de l'ensemble de nombres donné.\",\r\n      EDATE:\r\n        \"Renvoie une date avec un nombre donné de mois avant ou après la date spécifiée.\",\r\n      DATEVALUE: \"Convertit une chaîne de date en valeur de date.\",\r\n      NOW: \"Renvoie la date et l'heure actuelles.\",\r\n      HOUR: \"Renvoie le nombre d'heures dans une chaîne de temps spécifiée.\",\r\n      MINUTE:\r\n        \"Renvoie le nombre de minutes dans une chaîne de temps spécifiée.\",\r\n      SECOND:\r\n        \"Renvoie le nombre de secondes dans une chaîne de temps spécifiée.\",\r\n      MONTH: \"Renvoie le nombre de mois dans une chaîne de date spécifiée.\",\r\n      OR: \"OU ALORS\",\r\n      AND: \"ET\",\r\n      CustomFilterDatePlaceHolder: \"Choisissez une date\",\r\n      CustomFilterPlaceHolder: \"Entrez la valeur\",\r\n      CustomFilter: \"Filtre personnalisé\",\r\n      Between: \"Compris entre\",\r\n      MatchCase: \"Cas de correspondance\",\r\n      DateTimeFilter: \"Filtres DateHeure\",\r\n      Undo: \"annuler\",\r\n      Redo: \"Refaire\",\r\n      ClearAllFilter: \"Dégager\",\r\n      ReapplyFilter: \"Réappliquer\",\r\n      DateFilter: \"Filtres de dates\",\r\n      TextFilter: \"Filtres de texte\",\r\n      NumberFilter: \"Filtres numériques\",\r\n      ClearFilter: \"Effacer le filtre\",\r\n      NoResult: \"Aucun résultat\",\r\n      FilterFalse: \"Faux\",\r\n      FilterTrue: \"Vrai\",\r\n      Blanks: \"Blancs\",\r\n      SelectAll: \"Tout sélectionner\",\r\n      GreaterThanOrEqual: \"Meilleur que ou égal\",\r\n      GreaterThan: \"Plus grand que\",\r\n      LessThanOrEqual: \"Inférieur ou égal\",\r\n      LessThan: \"Moins que\",\r\n      NotEqual: \"Inégal\",\r\n      Equal: \"Égal\",\r\n      Contains: \"Contient\",\r\n      NotContains: \"Ne contient pas\",\r\n      EndsWith: \"Se termine par\",\r\n      NotEndsWith: \"Ne se termine pas par\",\r\n      StartsWith: \"Commence avec\",\r\n      NotStartsWith: \"Ne commence pas par\",\r\n      IsEmpty: \"Vide\",\r\n      IsNotEmpty: \"Pas vide\",\r\n      ClearButton: \"Dégager\",\r\n      FilterButton: \"Filtre\",\r\n      CancelButton: \"Annuler\",\r\n      OKButton: \"D'ACCORD\",\r\n      Search: \"Rechercher\",\r\n      DataValidation: \"La validation des données\",\r\n      CellRange: \"Plage de cellules\",\r\n      Allow: \"Permettre\",\r\n      Data: \"Données\",\r\n      Minimum: \"Le minimum\",\r\n      Maximum: \"Maximum\",\r\n      IgnoreBlank: \"Ignorer le blanc\",\r\n      WholeNumber: \"Nombre entier\",\r\n      Decimal: \"Décimal\",\r\n      Date: \"Date\",\r\n      TextLength: \"Longueur du texte\",\r\n      List: \"Liste\",\r\n      NotBetween: \"Pas entre\",\r\n      EqualTo: \"Égal à\",\r\n      NotEqualTo: \"Pas égal à\",\r\n      GreaterThanOrEqualTo: \"Plus grand ou égal à\",\r\n      LessThanOrEqualTo: \"Inférieur ou égal à\",\r\n      InCellDropDown: \"Liste déroulante dans la cellule\",\r\n      Sources: \"Sources\",\r\n      Value: \"Évaluer\",\r\n      Formula: \"Formule\",\r\n      Retry: \"Retenter\",\r\n      DialogError:\r\n        \"La source de la liste doit être une référence à une seule ligne ou colonne.\",\r\n      MinMaxError: \"Le maximum doit être supérieur ou égal au minimum.\",\r\n      InvalidNumberError: \"Veuillez entrer un numéro valide.\",\r\n      InvalidFormula: \"Veuillez entrer une formule valide.\",\r\n      Spreadsheet: \"Tableur\",\r\n      MoreValidation: \"Cette sélection contient plus d'une validation.\",\r\n      FileNameError:\r\n        'Un nom de fichier ne peut pas contenir de caractères tels que \\\\ / : * ? \" < > [ ] |',\r\n      ValidationError:\r\n        \"Cette valeur ne correspond pas aux restrictions de validation des données définies pour la cellule.\",\r\n      ListLengthError:\r\n        \"Les valeurs de la liste ne permettent que jusqu'à 256 caractères\",\r\n      ProtectSheet: \"Feuille de protection\",\r\n      UnprotectSheet: \"Déprotéger la feuille\",\r\n      SelectCells: \"Sélectionnez les cellules verrouillées\",\r\n      SelectUnlockedCells: \"Sélectionnez les cellules déverrouillées\",\r\n      Save: \"Sauver\",\r\n      EmptyFileName: \"Le nom du fichier ne peut pas être vide.\",\r\n      LargeName: \"Le nom est trop long.\",\r\n      FormatCells: \"Formater les cellules\",\r\n      FormatRows: \"Mettre en forme les lignes\",\r\n      FormatColumns: \"Formater les colonnes\",\r\n      InsertLinks: \"Insérer des liens\",\r\n      ProtectContent: \"Protéger le contenu des cellules verrouillées\",\r\n      ProtectAllowUser:\r\n        \" Autoriser tous les utilisateurs de cette feuille de calcul à :\",\r\n      EditAlert:\r\n        \"La cellule que vous essayez de modifier est protégée. Pour rendre la monnaie, déprotégez la feuille.\",\r\n      ReadonlyAlert:\r\n        \"Vous essayez de modifier une cellule qui est en mode lecture seule. Pour apporter des modifications, veuillez désactiver le statut de lecture seule.\",\r\n      ClearValidation: \"Effacer la validation\",\r\n      ISNUMBER:\r\n        \"Renvoie true lorsque la valeur est analysée en tant que valeur numérique.\",\r\n      ROUND: \"Arrondit un nombre à un nombre de chiffres spécifié.\",\r\n      GEOMEAN:\r\n        \"Renvoie la moyenne géométrique d'un tableau ou d'une plage de données positives.\",\r\n      POWER: \"Renvoie le résultat d'un nombre élevé à la puissance\",\r\n      LOG: \"Renvoie le logarithme d'un nombre à la base que vous spécifiez.\",\r\n      TRUNC:\r\n        \"Renvoie la valeur tronquée d'un nombre à un nombre spécifié de décimales.\",\r\n      EXP: \"Renvoie e élevé à la puissance du nombre donné.\",\r\n      LOOKUP:\r\n        \"Recherche une valeur dans une plage à une seule ligne ou à une seule colonne, puis renvoie une valeur au même emplacement dans une plage à une seule ligne ou à une seule colonne.\",\r\n      HLOOKUP:\r\n        \"Recherche la valeur dans la ligne supérieure du tableau de valeurs, puis renvoie la valeur dans la même colonne que la ligne du tableau que vous avez spécifiée.\",\r\n      VLOOKUP:\r\n        \"Recherche la valeur spécifiée dans la première colonne de la plage de recherche et renvoie la valeur correspondante dans la deuxième colonne de la même ligne.\",\r\n      NOT: \"Renvoie l'inverse de l'expression logique spécifiée.\",\r\n      EOMONTH:\r\n        \"Renvoie le dernier jour du mois correspondant au nombre de mois spécifié avant ou après la date de début initialement spécifiée.\",\r\n      SQRT: \"Renvoie la racine carrée d'un nombre positif.\",\r\n      ROUNDDOWN: \"Arrondissez le nombre à zéro.\",\r\n      RSQ: \"Renvoie le coefficient de corrélation quadratique du moment du produit Pearson en fonction des points de données known_y et known_x.\",\r\n      HighlightCellsRules: \"Mettre en surbrillance les règles des cellules\",\r\n      CFEqualTo: \"Égal à\",\r\n      TextThatContains: \"Texte qui contient\",\r\n      ADateOccuring: \"Une date survenant\",\r\n      DuplicateValues: \"Valeurs en double\",\r\n      TopBottomRules: \"Règles du haut/du bas\",\r\n      Top10Items: \"Top 10 des articles\",\r\n      Top10: \"Top 10\",\r\n      Bottom10Items: \"Les 10 derniers articles\",\r\n      Bottom10: \"Les 10 derniers\",\r\n      AboveAverage: \"Au dessus de la moyenne\",\r\n      BelowAverage: \"Sous la moyenne\",\r\n      FormatCellsGreaterThan: \"Mettre en forme les cellules supérieures à :\",\r\n      FormatCellsLessThan: \"Mettre en forme les cellules inférieures à :\",\r\n      FormatCellsBetween: \"Mettre en forme les cellules qui sont ENTRE :\",\r\n      FormatCellsEqualTo: \"Mettre en forme les cellules qui sont ÉGALES À :\",\r\n      FormatCellsThatContainTheText:\r\n        \"Mettre en forme les cellules contenant le texte :\",\r\n      FormatCellsThatContainADateOccurring:\r\n        \"Mettre en forme les cellules contenant une date :\",\r\n      FormatCellsDuplicate: \"Mettre en forme les cellules contenant :\",\r\n      FormatCellsTop: \"Formatez les cellules qui se classent dans le TOP :\",\r\n      FormatCellsBottom:\r\n        \"Mettre en forme les cellules qui se classent en BAS :\",\r\n      FormatCellsAbove:\r\n        \"Mettre en forme les cellules qui sont SUPÉRIEURES À LA MOYENNE :\",\r\n      FormatCellsBelow:\r\n        \"Mettre en forme les cellules qui sont INFÉRIEURES À LA MOYENNE :\",\r\n      With: \"avec\",\r\n      DataBars: \"Barres de données\",\r\n      ColorScales: \"Échelles de couleurs\",\r\n      IconSets: \"Ensembles d'icônes\",\r\n      ClearRules: \"Règles claires\",\r\n      SelectedCells: \"Effacer les règles des cellules sélectionnées\",\r\n      EntireSheet: \"Effacer les règles de la feuille entière\",\r\n      LightRedFillWithDarkRedText:\r\n        \"Remplissage rouge clair avec texte rouge foncé\",\r\n      YellowFillWithDarkYellowText: \"Remplissage jaune avec texte jaune foncé\",\r\n      GreenFillWithDarkGreenText: \"Remplissage vert avec texte vert foncé\",\r\n      RedFill: \"Remplissage rouge\",\r\n      RedText: \"Texte rouge\",\r\n      Duplicate: \"Dupliquer\",\r\n      Unique: \"Unique\",\r\n      And: \"et\",\r\n      WebPage: \"Page Web\",\r\n      ThisDocument: \"Ce document\",\r\n      DisplayText: \"Afficher le texte\",\r\n      Url: \"URL\",\r\n      CellReference: \"Référence de cellule\",\r\n      DefinedNames: \"Noms définis\",\r\n      EnterTheTextToDisplay: \"Entrez le texte à afficher\",\r\n      EnterTheUrl: \"Saisissez l'URL\",\r\n      INT: \"Renvoie un nombre à l'entier le plus proche.\",\r\n      SUMPRODUCT: \"Renvoie la somme du produit de plages de tableaux données.\",\r\n      TODAY: \"Renvoie la date actuelle comme valeur de date.\",\r\n      ROUNDUP: \"Arrondit un nombre à partir de zéro.\",\r\n      Link: \"Lien\",\r\n      Hyperlink: \"Lien hypertexte\",\r\n      EditHyperlink: \"Modifier le lien hypertexte\",\r\n      OpenHyperlink: \"Ouvrir le lien hypertexte\",\r\n      RemoveHyperlink: \"Supprimer le lien hypertexte\",\r\n      InvalidHyperlinkAlert:\r\n        \"L'adresse de ce site n'est pas valide. Vérifie l'adresse et essaye de nouveau.\",\r\n      InsertLink: \"Insérer un lien\",\r\n      EditLink: \"Modifier le lien\",\r\n      WrapText: \"Envelopper le texte\",\r\n      Update: \"Mettre à jour\",\r\n      SortAndFilter: \"Trier et filtrer\",\r\n      Filter: \"Filtre\",\r\n      FilterCellValue: \"Filtrer par valeur de la cellule sélectionnée\",\r\n      FilterOutOfRangeError:\r\n        \"Sélectionnez une cellule ou une plage à l'intérieur de la plage utilisée et réessayez.\",\r\n      ClearFilterFrom: \"Effacer le filtre de\",\r\n      LN: \"Renvoie le logarithme naturel d'un nombre.\",\r\n      DefineNameInValid: \"Le nom que vous avez saisi n'est pas valide.\",\r\n      EmptyError: \"Vous devez entrer une valeur\",\r\n      ClearHighlight: \"Effacer la surbrillance\",\r\n      HighlightInvalidData: \"Mettre en surbrillance les données non valides\",\r\n      Clear: \"Dégager\",\r\n      ClearContents: \"Effacer le contenu\",\r\n      ClearAll: \"Tout effacer\",\r\n      ClearFormats: \"Effacer les formats\",\r\n      ClearHyperlinks: \"Effacer les hyperliens\",\r\n      Image: \"Image\",\r\n      ConditionalFormatting: \"Mise en forme conditionnelle\",\r\n      BlueDataBar: \"Barre de données bleue\",\r\n      GreenDataBar: \"Barre de données verte\",\r\n      RedDataBar: \"Barre de données rouge\",\r\n      OrangeDataBar: \"Barre de données orange\",\r\n      LightBlueDataBar: \"Barre de données bleu clair\",\r\n      PurpleDataBar: \"Barre de données violette\",\r\n      GYRColorScale: \"Échelle de couleur vert - jaune - rouge\",\r\n      RYGColorScale: \"Échelle de couleurs rouge - jaune - vert\",\r\n      GWRColorScale: \"Échelle de couleur vert - blanc - rouge\",\r\n      RWGColorScale: \"Échelle de couleur rouge - blanc - vert\",\r\n      BWRColorScale: \"Échelle de couleur bleu - blanc - rouge\",\r\n      RWBColorScale: \"Échelle de couleurs rouge - blanc - bleu\",\r\n      WRColorScale: \"Échelle de couleur blanc - rouge\",\r\n      RWColorScale: \"Échelle de couleur rouge - blanc\",\r\n      GWColorScale: \"Échelle de couleur vert - blanc\",\r\n      WGColorScale: \"Échelle de couleur blanc - vert\",\r\n      GYColorScale: \"Échelle de couleur vert - jaune\",\r\n      YGColorScale: \"Échelle de couleur jaune - vert\",\r\n      ThreeArrowsColor: \"3 flèches (colorées)\",\r\n      ThreeArrowsGray: \"3 Flèches (Gris)\",\r\n      ThreeTriangles: \"3 triangles\",\r\n      FourArrowsColor: \"4 Flèches (Gris)\",\r\n      FourArrowsGray: \"4 flèches (colorées)\",\r\n      FiveArrowsColor: \"5 Flèches (Gris)\",\r\n      FiveArrowsGray: \"5 flèches (colorées)\",\r\n      ThreeTrafficLights1: \"3 feux de signalisation (sans bordure)\",\r\n      ThreeTrafficLights2: \"3 feux de circulation (cerclés)\",\r\n      ThreeSigns: \"3 signes\",\r\n      FourTrafficLights: \"4 feux de circulation\",\r\n      RedToBlack: \"Rouge à noir\",\r\n      ThreeSymbols1: \"3 symboles (encerclés)\",\r\n      ThreeSymbols2: \"3 symboles (sans cercle)\",\r\n      ThreeFlags: \"3 drapeaux\",\r\n      ThreeStars: \"3 étoiles\",\r\n      FourRatings: \"4 notes\",\r\n      FiveQuarters: \"5 trimestres\",\r\n      FiveRatings: \"5 notes\",\r\n      FiveBoxes: \"5 Boîtes\",\r\n      Chart: \"Graphique\",\r\n      Column: \"Colonne\",\r\n      Bar: \"Bar\",\r\n      Area: \"Zone\",\r\n      Pie: \"Tarte\",\r\n      Doughnut: \"Donut\",\r\n      PieAndDoughnut: \"Tarte/Beignet\",\r\n      Line: \"La ligne\",\r\n      Radar: \"Radar\",\r\n      Scatter: \"Dispersion\",\r\n      ChartDesign: \"Conception de graphique\",\r\n      ClusteredColumn: \"Colonne groupée\",\r\n      StackedColumn: \"Colonne empilée\",\r\n      StackedColumn100: \"Colonne empilée à 100 %\",\r\n      ClusteredBar: \"Barre groupée\",\r\n      StackedBar: \"Barre empilée\",\r\n      StackedBar100: \"Barre empilée à 100 %\",\r\n      StackedArea: \"Zone empilée\",\r\n      StackedArea100: \"100 % de zone empilée\",\r\n      StackedLine: \"Ligne empilée\",\r\n      StackedLine100: \"Ligne empilée à 100 %\",\r\n      LineMarker: \"Ligne avec marqueurs\",\r\n      StackedLineMarker: \"Ligne empilée avec marqueurs\",\r\n      StackedLine100Marker: \"Ligne empilée à 100 % avec marqueurs\",\r\n      AddChartElement: \"Ajouter un élément de graphique\",\r\n      Axes: \"Haches\",\r\n      AxisTitle: \"Titre de l'axe\",\r\n      ChartTitle: \"Titre du graphique\",\r\n      DataLabels: \"Étiquettes de données\",\r\n      Gridlines: \"Quadrillage\",\r\n      Legends: \"Légendes\",\r\n      PrimaryHorizontal: \"Horizontale primaire\",\r\n      PrimaryVertical: \"Verticale primaire\",\r\n      None: \"Aucun\",\r\n      AboveChart: \"Graphique ci-dessus\",\r\n      Center: \"Centre\",\r\n      InsideEnd: \"Fin intérieure\",\r\n      InsideBase: \"À l'intérieur de la base\",\r\n      OutsideEnd: \"Extrémité extérieure\",\r\n      PrimaryMajorHorizontal: \"Primaire Majeur Horizontal\",\r\n      PrimaryMajorVertical: \"Primaire Majeur Vertical\",\r\n      PrimaryMinorHorizontal: \"Primaire Mineure Horizontale\",\r\n      PrimaryMinorVertical: \"Primaire Mineure Verticale\",\r\n      Right: \"Droite\",\r\n      Left: \"Gauche\",\r\n      Bottom: \"Bas\",\r\n      Top: \"Haut\",\r\n      SwitchRowColumn: \"Changer de ligne/colonne\",\r\n      ChartTheme: \"Thème du graphique\",\r\n      ChartType: \"Type de graphique\",\r\n      Material: \"Matériau\",\r\n      Fabric: \"Tissu\",\r\n      Bootstrap: \"Amorcer\",\r\n      HighContrastLight: \"Lumière à contraste élevé\",\r\n      MaterialDark: \"Matériau foncé\",\r\n      FabricDark: \"Tissu Foncé\",\r\n      HighContrast: \"Contraste élevé\",\r\n      BootstrapDark: \"Bootstrap foncé\",\r\n      Bootstrap4: \"Bootstrap4\",\r\n      Bootstrap5Dark: \"Bootstrap5 Sombre\",\r\n      Bootstrap5: \"Bootstrap5\",\r\n      Tailwind: \"Vent arrière\",\r\n      TailwindDark: \"Vent arrière sombre\",\r\n      Tailwind3: \"Vent Arrière 3\",\r\n      Tailwind3Dark: \"Vent Arrière 3 Sombre\",\r\n      VerticalAxisTitle: \"Titre de l'axe vertical\",\r\n      HorizontalAxisTitle: \"Titre de l'axe horizontal\",\r\n      EnterTitle: \"Entrez le titre\",\r\n      UnprotectWorksheet: \"Déprotéger la feuille\",\r\n      ReEnterPassword: \"Entrez à nouveau le mot de passe pour continuer\",\r\n      SheetPassword: \"Mot de passe pour déprotéger la feuille :\",\r\n      ProtectWorkbook: \"Protéger le classeur\",\r\n      Password: \"Mot de passe (facultatif) :\",\r\n      EnterThePassword: \"Entrer le mot de passe\",\r\n      ConfirmPassword: \"Confirmez le mot de passe\",\r\n      EnterTheConfirmPassword: \"Entrez à nouveau votre mot de passe\",\r\n      PasswordAlert: \"Le mot de passe de confirmation n'est pas identique\",\r\n      UnprotectWorkbook: \"Déprotéger le classeur\",\r\n      UnprotectPasswordAlert:\r\n        \"Le mot de passe que vous avez fourni n'est pas correct.\",\r\n      IncorrectPassword:\r\n        \"Impossible d'ouvrir le fichier ou la feuille de calcul avec le mot de passe donné\",\r\n      PasswordAlertMsg: \"S'il vous plaît entrer le mot de passe\",\r\n      ConfirmPasswordAlertMsg:\r\n        \"Veuillez entrer le mot de passe de confirmation\",\r\n      IsProtected: \"est protégé\",\r\n      PDF: \"Documents PDF\",\r\n      AutoFillMergeAlertMsg:\r\n        \"Pour ce faire, toutes les cellules fusionnées doivent avoir la même taille.\",\r\n      Fluent: \"Courant\",\r\n      FluentDark: \"Courant Sombre\",\r\n      Fluent2: \"Courant 2\",\r\n      Fluent2Dark: \"Courant 2 Foncé\",\r\n      Fluent2HighContrast: \"Fluent 2 contraste élevé\",\r\n      Custom: \"Personnalisé\",\r\n      WEEKDAY: \"Renvoie le jour de la semaine correspondant à une date.\",\r\n      FillSeries: \"Remplir la série\",\r\n      CopyCells: \"Copier les cellules\",\r\n      FillFormattingOnly: \"Remplir la mise en forme uniquement\",\r\n      FillWithoutFormatting: \"Remplir sans formater\",\r\n      CustomFormat: \"Formats de nombre personnalisés\",\r\n      CustomFormatPlaceholder: \"Tapez ou sélectionnez un format personnalisé\",\r\n      CustomFormatTypeList: \"Taper\",\r\n      CellReferenceTypoError:\r\n        \"Nous avons trouvé une faute de frappe dans votre référence de cellule. Voulez-vous corriger cette référence comme suit ?\",\r\n      AddCurrentSelection: \"Ajouter la sélection actuelle au filtre\",\r\n      ExternalWorkbook:\r\n        \"Un fichier Excel importé contient une référence de classeur externe. Voulez-vous importer ce fichier ?\",\r\n      Directional: \"Directionnel\",\r\n      Shapes: \"Formes\",\r\n      Indicators: \"Indicateurs\",\r\n      Ratings: \"Notes\",\r\n      InvalidFormulaError:\r\n        \"Nous avons constaté que vous avez saisi une formule non valide.\",\r\n      InvalidArguments:\r\n        \"Nous avons constaté que vous avez saisi une formule avec des arguments non valides.\",\r\n      EmptyExpression:\r\n        \"Nous avons constaté que vous aviez tapé une formule avec une expression vide.\",\r\n      MismatchedParenthesis:\r\n        \"Nous avons constaté que vous avez tapé une formule avec une ou plusieurs parenthèses ouvrantes ou fermantes manquantes.\",\r\n      ImproperFormula:\r\n        \"Nous avons constaté que vous avez saisi une formule incorrecte.\",\r\n      WrongNumberOfArguments:\r\n        \"Nous avons constaté que vous avez saisi une formule avec un nombre incorrect d'arguments.\",\r\n      Requires3Arguments:\r\n        \"Nous avons constaté que vous avez tapé une formule qui nécessite 3 arguments.\",\r\n      MismatchedStringQuotes:\r\n        \"Nous avons constaté que vous aviez saisi une formule avec des guillemets incompatibles.\",\r\n      FormulaCircularRef:\r\n        \"Nous avons constaté que vous aviez tapé une formule avec une référence circulaire.\",\r\n    },\r\n    filemanager: {\r\n      NewFolder: \"Nouveau dossier\",\r\n      Upload: \"Téléverser\",\r\n      Delete: \"Supprimer\",\r\n      Rename: \"Renommer\",\r\n      Download: \"Télécharger\",\r\n      Cut: \"Couper\",\r\n      Copy: \"Copier\",\r\n      Paste: \"Coller\",\r\n      SortBy: \"Trier par\",\r\n      Refresh: \"Rafraîchir\",\r\n      \"Item-Selection\": \"élément sélectionné\",\r\n      \"Items-Selection\": \"éléments sélectionnés\",\r\n      View: \"Vue\",\r\n      Details: \"Détails\",\r\n      SelectAll: \"Tout sélectionner\",\r\n      Open: \"Ouvrir\",\r\n      \"Tooltip-NewFolder\": \"Nouveau dossier\",\r\n      \"Tooltip-Upload\": \"Téléverser\",\r\n      \"Tooltip-Delete\": \"Supprimer\",\r\n      \"Tooltip-Rename\": \"Renommer\",\r\n      \"Tooltip-Download\": \"Télécharger\",\r\n      \"Tooltip-Cut\": \"Couper\",\r\n      \"Tooltip-Copy\": \"Copier\",\r\n      \"Tooltip-Paste\": \"Coller\",\r\n      \"Tooltip-SortBy\": \"Trier par\",\r\n      \"Tooltip-Refresh\": \"Rafraîchir\",\r\n      \"Tooltip-Selection\": \"Effacer la sélection\",\r\n      \"Tooltip-View\": \"Vue\",\r\n      \"Tooltip-Details\": \"Détails\",\r\n      \"Tooltip-SelectAll\": \"Tout sélectionner\",\r\n      Name: \"Nom\",\r\n      Size: \"Taille\",\r\n      DateModified: \"Date de modification\",\r\n      DateCreated: \"Date créée\",\r\n      Path: \"Chemin\",\r\n      Modified: \"Modifié\",\r\n      Created: \"Créé\",\r\n      Location: \"Emplacement\",\r\n      Type: \"Taper\",\r\n      Permission: \"Permission\",\r\n      Ascending: \"Ascendant\",\r\n      Descending: \"Descendant\",\r\n      None: \"Aucun\",\r\n      \"View-LargeIcons\": \"Grandes icônes\",\r\n      \"View-Details\": \"Détails\",\r\n      Search: \"Recherche\",\r\n      \"Button-Ok\": \"OK\",\r\n      \"Button-Cancel\": \"Annuler\",\r\n      \"Button-Yes\": \"Oui\",\r\n      \"Button-No\": \"Non\",\r\n      \"Button-Create\": \"Créer\",\r\n      \"Button-Save\": \"Enregistrer\",\r\n      \"Header-NewFolder\": \"Dossier\",\r\n      \"Content-NewFolder\": \"Entrez le nom de votre dossier\",\r\n      \"Header-Rename\": \"Renommer\",\r\n      \"Content-Rename\": \"Entrez votre nouveau nom\",\r\n      \"Header-Rename-Confirmation\": \"Renommer la confirmation\",\r\n      \"Content-Rename-Confirmation\":\r\n        \"Si vous modifiez une extension de nom de fichier, le fichier peut devenir instable. Voulez-vous vraiment le modifier ?\",\r\n      \"Header-Delete\": \"Supprimer le fichier\",\r\n      \"Content-Delete\": \"Voulez-vous vraiment supprimer ce fichier ?\",\r\n      \"Header-Folder-Delete\": \"Supprimer le dossier\",\r\n      \"Content-Folder-Delete\":\r\n        \"Êtes-vous sûr de vouloir supprimer ce dossier ?\",\r\n      \"Header-Multiple-Delete\": \"Supprimer plusieurs fichiers\",\r\n      \"Content-Multiple-Delete\":\r\n        \"Voulez-vous vraiment supprimer ces {0} fichiers ?\",\r\n      \"Header-Duplicate\": \"Le fichier / dossier existe\",\r\n      \"Content-Duplicate\": \"{0} existe déjà. Voulez-vous renommer et coller ?\",\r\n      \"Header-Upload\": \"Téléverser des fichiers\",\r\n      Error: \"Erreur\",\r\n      \"Validation-Empty\":\r\n        \"Le nom du fichier ou du dossier ne peut pas être vide.\",\r\n      \"Validation-Invalid\":\r\n        'Le nom de fichier ou de dossier {0} contient des caractères non valides. Veuillez utiliser un nom différent. Les noms de fichiers ou de dossiers valides ne peuvent pas se terminer par un point ou un espace et ne peuvent contenir aucun des caractères suivants: \\\\ /: *? \"<> |',\r\n      \"Validation-NewFolder-Exists\":\r\n        \"Un fichier ou un dossier portant le nom {0} existe déjà.\",\r\n      \"Validation-Rename-Exists\":\r\n        \"Impossible de renommer {0} en {1} : la destination existe déjà.\",\r\n      \"Folder-Empty\": \"Ce dossier est vide\",\r\n      \"File-Upload\": \"Glissez les fichiers ici pour les téléverser\",\r\n      \"Search-Empty\": \"Aucun résultat trouvé\",\r\n      \"Search-Key\": \"Essayez avec différents mots clés\",\r\n      \"Filter-Empty\": \"Aucun résultat trouvé\",\r\n      \"Filter-Key\": \"Essayez avec un filtre différent\",\r\n      \"Sub-Folder-Error\":\r\n        \"Le dossier de destination est le sous-dossier du dossier source.\",\r\n      \"Same-Folder-Error\":\r\n        \"Le dossier de destination est identique au dossier source.\",\r\n      \"Access-Denied\": \"Accès refusé\",\r\n      \"Access-Details\": \"Vous n'avez pas la permission d'accéder à ce dossier.\",\r\n      \"Header-Retry\": \"Le fichier existe déjà\",\r\n      \"Content-Retry\":\r\n        \"Un fichier avec ce nom existe déjà dans ce dossier. Que souhaitez-vous faire ?\",\r\n      \"Button-Keep-Both\": \"Conserver les deux\",\r\n      \"Button-Replace\": \"Remplacer\",\r\n      \"Button-Skip\": \"Ignorer\",\r\n      \"ApplyAll-Label\": \"Faire ceci pour tous les éléments actuels\",\r\n      KB: \"Ko\",\r\n      \"Access-Message\":\r\n        \"{0} n'est pas accessible. Vous avez besoin de la permission pour effectuer l'action {1}.\",\r\n      \"Network-Error\":\r\n        \"NetworkError: échec d'envoi sur XMLHTTPRequest: échec de chargement\",\r\n      \"Server-Error\": \"Erreur serveur : réponse non valide de\",\r\n    },\r\n    calendar: {\r\n      today: \"Aujourd'hui\",\r\n    },\r\n    datepicker: {\r\n      today: \"Aujourd'hui\",\r\n      placeholder: \"Choisissez une date\",\r\n    },\r\n    daterangepicker: {\r\n      placeholder: \"Choisissez une plage de dates\",\r\n      startLabel: \"Date de début\",\r\n      endLabel: \"Date de fin\",\r\n      applyText: \"Appliquer\",\r\n      cancelText: \"Annuler\",\r\n      selectedDays: \"Jours sélectionnés\",\r\n      days: \"Jours\",\r\n      customRange: \"Période personnalisée\",\r\n    },\r\n    timepicker: {\r\n      placeholder: \"Choisissez une heure\",\r\n    },\r\n    datetimepicker: {\r\n      today: \"Aujourd'hui\",\r\n      placeholder: \"Choisissez une date et une heure\",\r\n    },\r\n    dialog: {\r\n      close: \"Fermer\",\r\n    },\r\n    toast: {\r\n      close: \"Fermer\",\r\n    },\r\n    tab: {\r\n      closeButtonTitle: \"Fermer\",\r\n    },\r\n    schedule: {\r\n      day: \"Jour\",\r\n      week: \"Semaine\",\r\n      workWeek: \"Semaine de travail\",\r\n      month: \"Mois\",\r\n      year: \"Année\",\r\n      agenda: \"Ordre du jour\",\r\n      weekAgenda: \"Ordre du jour de la semaine\",\r\n      workWeekAgenda: \"Ordre du jour de la semaine de travail\",\r\n      monthAgenda: \"Ordre du jour du mois\",\r\n      today: \"Aujourd'hui\",\r\n      noEvents: \"Aucun événement\",\r\n      emptyContainer: \"Aucun événement n'est prévu ce jour.\",\r\n      allDay: \"Toute la journée\",\r\n      start: \"Début\",\r\n      end: \"Fin\",\r\n      more: \"plus\",\r\n      close: \"Fermer\",\r\n      cancel: \"Annuler\",\r\n      noTitle: \"(Pas de titre)\",\r\n      delete: \"Supprimer\",\r\n      deleteEvent: \"Supprimer l'événement\",\r\n      deleteMultipleEvent: \"Supprimer plusieurs événements\",\r\n      selectedItems: \"Éléments sélectionnés\",\r\n      deleteSeries: \"Supprimer la série\",\r\n      edit: \"Modifier\",\r\n      editSeries: \"Modifier la série\",\r\n      editEvent: \"Modifier l'événement\",\r\n      createEvent: \"Créer\",\r\n      subject: \"Sujet\",\r\n      addTitle: \"Ajouter un titre\",\r\n      moreDetails: \"Plus de détails\",\r\n      moreEvents: \"Plus d'événements\",\r\n      save: \"Enregistrer\",\r\n      editContent:\r\n        \"Comment souhaitez-vous modifier le rendez-vous dans la série ?\",\r\n      deleteContent: \"Êtes-vous sûr de vouloir supprimer cet événement ?\",\r\n      deleteMultipleContent:\r\n        \"Êtes-vous sûr de vouloir supprimer les événements sélectionnés ?\",\r\n      newEvent: \"Nouvel événement\",\r\n      title: \"Titre\",\r\n      location: \"Emplacement\",\r\n      description: \"Description\",\r\n      timezone: \"Fuseau horaire\",\r\n      startTimezone: \"Fuseau horaire de début\",\r\n      endTimezone: \"Fuseau horaire de fin\",\r\n      repeat: \"Répéter\",\r\n      saveButton: \"Enregistrer\",\r\n      cancelButton: \"Annuler\",\r\n      deleteButton: \"Supprimer\",\r\n      recurrence: \"Récurrence\",\r\n      wrongPattern: \"Le modèle de récurrence n'est pas valide.\",\r\n      seriesChangeAlert:\r\n        \"Voulez-vous annuler les modifications apportées à des instances spécifiques de cette série et les faire correspondre à nouveau à l'ensemble de la série ?\",\r\n      createError:\r\n        \"La durée de l'événement doit être plus courte que sa fréquence. Raccourcissez la durée ou modifiez le modèle de récurrence dans l'éditeur d'événements de récurrence.\",\r\n      sameDayAlert:\r\n        \"Deux occurrences du même événement ne peuvent pas avoir lieu le même jour.\",\r\n      occurenceAlert:\r\n        \"Impossible de replanifier une occurrence du rendez-vous périodique si elle ignore une occurrence ultérieure du même rendez-vous.\",\r\n      editRecurrence: \"Modifier la récurrence\",\r\n      repeats: \"Se répète\",\r\n      alert: \"Alerte\",\r\n      startEndError:\r\n        \"La date de fin sélectionnée se produit avant la date de début.\",\r\n      invalidDateError: \"La valeur de date saisie n'est pas valide.\",\r\n      blockAlert:\r\n        \"Les événements ne peuvent pas être planifiés dans l'intervalle de temps bloqué.\",\r\n      ok: \"OK\",\r\n      of: \"de\",\r\n      yes: \"Oui\",\r\n      no: \"Non\",\r\n      occurrence: \"Occurrence\",\r\n      series: \"Série\",\r\n      previous: \"Précédent\",\r\n      next: \"Prochain\",\r\n      timelineDay: \"Chronologie du jour\",\r\n      timelineWeek: \"Chronologie de la semaine\",\r\n      timelineWorkWeek: \"Chronologie de la semaine de travail\",\r\n      timelineMonth: \"Chronologie du mois\",\r\n      timelineYear: \"Chronologie de l'année\",\r\n      editFollowingEvent: \"Événements suivants\",\r\n      deleteTitle: \"Supprimer l'événement\",\r\n      editTitle: \"Modifier l'événement\",\r\n      beginFrom: \"Commencer à partir de\",\r\n      endAt: \"Fin à\",\r\n      expandAllDaySection: \"Développer la section de toute la journée\",\r\n      collapseAllDaySection: \"Réduire la section de toute la journée\",\r\n      searchTimezone: \"Rechercher un fuseau horaire\",\r\n      noRecords: \"Aucun enregistrement trouvé\",\r\n      deleteRecurrenceContent:\r\n        \"Voulez-vous supprimer uniquement cet événement ou toute la série?\",\r\n      recurrenceDateValidation:\r\n        \"Certains mois ont moins de jours que la date sélectionnée. Pour ces mois, l'événement aura lieu le dernier jour du mois.\",\r\n    },\r\n    recurrenceeditor: {\r\n      none: \"Aucun\",\r\n      daily: \"Quotidien\",\r\n      weekly: \"Hebdomadaire\",\r\n      monthly: \"Mensuel\",\r\n      month: \"Mois\",\r\n      yearly: \"Annuel\",\r\n      never: \"Jamais\",\r\n      until: \"Jusqu'à\",\r\n      count: \"Compter\",\r\n      first: \"Premier\",\r\n      second: \"Deuxième\",\r\n      third: \"Troisième\",\r\n      fourth: \"Quatrième\",\r\n      last: \"Dernier\",\r\n      repeat: \"Répéter\",\r\n      repeatEvery: \"Répétez chaque\",\r\n      on: \"Répéter sur\",\r\n      end: \"Fin\",\r\n      onDay: \"Jour\",\r\n      days: \"Jour(s)\",\r\n      weeks: \"Semaine(s)\",\r\n      months: \"Mois\",\r\n      years: \"Année(s)\",\r\n      every: \"chaque\",\r\n      summaryTimes: \"fois\",\r\n      summaryOn: \"sur\",\r\n      summaryUntil: \"jusqu'au\",\r\n      summaryRepeat: \"Répétitions\",\r\n      summaryDay: \"jour(s)\",\r\n      summaryWeek: \"semaine(s)\",\r\n      summaryMonth: \"mois\",\r\n      summaryYear: \"année(s)\",\r\n      monthWeek: \"Mois Semaine\",\r\n      monthPosition: \"Position du mois\",\r\n      monthExpander: \"Expander mois\",\r\n      yearExpander: \"Expander année\",\r\n      repeatInterval: \"Intervalle de répétition\",\r\n    },\r\n    gantt: {\r\n      emptyRecord: \"Aucun enregistrement à afficher\",\r\n      id: \"ID\",\r\n      name: \"Nom\",\r\n      startDate: \"Date de début\",\r\n      endDate: \"Date de fin\",\r\n      duration: \"Durée\",\r\n      progress: \"Progression\",\r\n      dependency: \"Dépendance\",\r\n      notes: \"Notes\",\r\n      baselineStartDate: \"Date de début de référence\",\r\n      baselineEndDate: \"Date de fin de référence\",\r\n      taskMode: \"Mode de tâche\",\r\n      changeScheduleMode: \"Changer le mode de programmation\",\r\n      subTasksStartDate: \"Date de début des sous-tâches\",\r\n      subTasksEndDate: \"Date de fin des sous-tâches\",\r\n      scheduleStartDate: \"Date de début du calendrier\",\r\n      scheduleEndDate: \"Date de fin du calendrier\",\r\n      auto: \"Automatique\",\r\n      manual: \"Manuel\",\r\n      type: \"Taper\",\r\n      offset: \"Décalage\",\r\n      resourceName: \"Ressources\",\r\n      resourceID: \"ID de ressource\",\r\n      day: \"jour\",\r\n      hour: \"heure\",\r\n      minute: \"minute\",\r\n      days: \"jours\",\r\n      hours: \"heures\",\r\n      minutes: \"minutes\",\r\n      generalTab: \"Général\",\r\n      customTab: \"Colonnes personnalisées\",\r\n      writeNotes: \"Écrire des notes\",\r\n      addDialogTitle: \"Nouvelle tâche\",\r\n      editDialogTitle: \"Informations sur la tâche\",\r\n      saveButton: \"Enregistrer\",\r\n      add: \"Ajouter\",\r\n      edit: \"Éditer\",\r\n      update: \"Mise à jour\",\r\n      delete: \"Supprimer\",\r\n      cancel: \"Annuler\",\r\n      search: \"Recherche\",\r\n      task: \" tâche\",\r\n      tasks: \" tâches\",\r\n      zoomIn: \"Agrandir\",\r\n      zoomOut: \"Dézoomer\",\r\n      zoomToFit: \"Zoom pour ajuster\",\r\n      excelExport: \"Exportation Excel\",\r\n      csvExport: \"Exportation CSV\",\r\n      expandAll: \"Tout développer\",\r\n      collapseAll: \"Réduire tout\",\r\n      nextTimeSpan: \"Plage de temps suivante\",\r\n      prevTimeSpan: \"Plage de temps précédente\",\r\n      okText: \"OK\",\r\n      confirmDelete: \"Êtes-vous sûr de vouloir supprimer l'enregistrement ?\",\r\n      from: \"De\",\r\n      to: \"À\",\r\n      taskLink: \"Lien de tâche\",\r\n      lag: \"Décalage\",\r\n      start: \"Début\",\r\n      finish: \"terminer\",\r\n      enterValue: \"Entrez la valeur\",\r\n      taskBeforePredecessor_FS:\r\n        \"Vous avez déplacé «{0}» pour commencer avant la fin de «{1}» et les deux tâches sont liées. Par conséquent, les liens ne peuvent pas être honorés. Sélectionnez une action ci-dessous pour effectuer\",\r\n      taskAfterPredecessor_FS:\r\n        \"Vous avez déplacé '{0}' de '{1}' et les deux tâches sont liées. Par conséquent, les liens ne peuvent pas être honorés. Sélectionnez une action ci-dessous pour effectuer\",\r\n      taskBeforePredecessor_SS:\r\n        \"Vous avez déplacé '{0}' pour démarrer avant le démarrage de '{1}' et les deux tâches sont liées. Par conséquent, les liens ne peuvent pas être honorés. Sélectionnez une action ci-dessous pour effectuer\",\r\n      taskAfterPredecessor_SS:\r\n        \"Vous avez déplacé '{0}' pour démarrer après le démarrage de '{1}' et les deux tâches sont liées. Par conséquent, les liens ne peuvent pas être honorés. Sélectionnez une action ci-dessous pour effectuer\",\r\n      taskBeforePredecessor_FF:\r\n        \"Vous avez déplacé '{0}' pour terminer avant la fin de '{1}' et les deux tâches sont liées. Par conséquent, les liens ne peuvent pas être honorés. Sélectionnez une action ci-dessous pour effectuer\",\r\n      taskAfterPredecessor_FF:\r\n        \"Vous avez déplacé «{0}» pour terminer une fois «{1}» terminé et les deux tâches sont liées. Par conséquent, les liens ne peuvent pas être honorés. Sélectionnez une action ci-dessous pour effectuer\",\r\n      taskBeforePredecessor_SF:\r\n        \"Vous avez déplacé '{0}' de '{1}' vers le début et les deux tâches sont liées. Par conséquent, les liens ne peuvent pas être honorés. Sélectionnez une action ci-dessous pour effectuer\",\r\n      taskAfterPredecessor_SF:\r\n        \"Vous avez déplacé '{0}' pour terminer après le démarrage de '{1}' et les deux tâches sont liées. Par conséquent, les liens ne peuvent pas être honorés. Sélectionnez une action ci-dessous pour effectuer\",\r\n      taskInformation: \"Informations sur la tâche\",\r\n      deleteTask: \"Supprimer la tâche\",\r\n      deleteDependency: \"Supprimer la dépendance\",\r\n      convert: \"Convertir\",\r\n      save: \"Enregistrer\",\r\n      above: \"Au-dessus\",\r\n      below: \"Au-dessous\",\r\n      child: \"Enfant\",\r\n      milestone: \"Jalon\",\r\n      toTask: \"À la tâche\",\r\n      toMilestone: \"Vers le jalon\",\r\n      eventMarkers: \"Marqueurs d'événements\",\r\n      leftTaskLabel: \"Étiquette de tâche gauche\",\r\n      rightTaskLabel: \"Étiquette de tâche droite\",\r\n      timelineCell: \"Cellule de la chronologie\",\r\n      confirmPredecessorDelete:\r\n        \"Voulez-vous vraiment supprimer le lien de dépendance ?\",\r\n      unit: \"Unité\",\r\n      work: \"Travail\",\r\n      taskType: \"Type de tâche\",\r\n      unassignedTask: \"Tâche non attribuée\",\r\n      group: \"Grouper\",\r\n      indent: \"Indenter\",\r\n      outdent: \"Désindenter\",\r\n      segments: \"Segments\",\r\n      splitTask: \"Diviser la tâche\",\r\n      mergeTask: \"Fusionner la tâche\",\r\n      left: \"Gauche\",\r\n      right: \"Droite\",\r\n      FF: \"FR\",\r\n      FS: \"FS\",\r\n      SF: \"SF\",\r\n      SS: \"SS\",\r\n    },\r\n    richtexteditor: {\r\n      alignments: \"Alignements\",\r\n      justifyLeft: \"Alignez à gauche\",\r\n      justifyCenter: \"Aligner le centre\",\r\n      justifyRight: \"Aligner à droite\",\r\n      justifyFull: \"Aligner Justifier\",\r\n      fontName: \"Nom de police\",\r\n      fontSize: \"Taille de police\",\r\n      fontColor: \"Couleur de la police\",\r\n      backgroundColor: \"Couleur de l'arrière plan\",\r\n      bold: \"Audacieux\",\r\n      italic: \"Italique\",\r\n      underline: \"Souligner\",\r\n      strikethrough: \"Barré\",\r\n      clearFormat: \"Effacer le format\",\r\n      clearAll: \"Tout effacer\",\r\n      cut: \"Couper\",\r\n      copy: \"Copier\",\r\n      paste: \"Coller\",\r\n      unorderedList: \"Liste à puces\",\r\n      orderedList: \"Liste numérotée\",\r\n      indent: \"Augmenter le retrait\",\r\n      outdent: \"Diminuer le retrait\",\r\n      undo: \"annuler\",\r\n      redo: \"Refaire\",\r\n      superscript: \"Exposant\",\r\n      subscript: \"Indice\",\r\n      createLink: \"Insérer un lien hypertexte\",\r\n      openLink: \"Ouvrir le lien\",\r\n      editLink: \"Modifier le lien\",\r\n      removeLink: \"Supprimer le lien\",\r\n      image: \"Insérer une image\",\r\n      replace: \"Remplacer\",\r\n      numberFormatList: \"Liste des formats de nombres\",\r\n      bulletFormatList: \"Liste des formats de puces\",\r\n      audioReplace: \"Remplacer\",\r\n      videoReplace: \"Remplacer\",\r\n      videoAlign: \"Aligner\",\r\n      videoDimension: \"Dimension\",\r\n      audioRemove: \"Retirer\",\r\n      videoRemove: \"Retirer\",\r\n      audioLayoutOption: \"Option de mise en page\",\r\n      videoLayoutOption: \"Option de mise en page\",\r\n      align: \"Aligner\",\r\n      caption: \"Légende\",\r\n      remove: \"Retirer\",\r\n      insertLink: \"Insérer un lien\",\r\n      display: \"Afficher\",\r\n      altText: \"Texte alternatif\",\r\n      dimension: \"Changer la taille\",\r\n      fullscreen: \"Maximiser\",\r\n      maximize: \"Maximiser\",\r\n      minimize: \"Minimiser\",\r\n      lowerCase: \"Minuscules\",\r\n      upperCase: \"Majuscules\",\r\n      print: \"Impression\",\r\n      formats: \"Formats\",\r\n      sourcecode: \"Affichage du code\",\r\n      preview: \"Aperçu\",\r\n      viewside: \"VueCôté\",\r\n      insertCode: \"Insérer le code\",\r\n      linkText: \"Afficher le texte\",\r\n      linkTooltipLabel: \"Titre\",\r\n      linkWebUrl: \"Adresse web\",\r\n      linkTitle: \"Entrez un titre\",\r\n      linkurl: \"https://exemple.com\",\r\n      linkOpenInNewWindow: \"Ouvre le lien dans une nouvelle fenêtre\",\r\n      linkHeader: \"Insérer un lien\",\r\n      dialogInsert: \"Insérer\",\r\n      dialogCancel: \"Annuler\",\r\n      dialogUpdate: \"Mise à jour\",\r\n      imageHeader: \"Insérer une image\",\r\n      audioHeader: \"Insérer un audio\",\r\n      videoHeader: \"Insérer une vidéo\",\r\n      imageLinkHeader: \"Vous pouvez également fournir un lien à partir du Web\",\r\n      audioLinkHeader: \"Vous pouvez également fournir un lien depuis le Web\",\r\n      videoLinkHeader: \"URL Web\",\r\n      embedVideoLinkHeader: \"URL d'intégration du média\",\r\n      mdimageLink: \"Veuillez fournir une URL pour votre image\",\r\n      imageUploadMessage: \"Déposez l'image ici ou parcourez pour télécharger\",\r\n      audioUploadMessage:\r\n        \"Déposez un fichier audio ou parcourez pour le télécharger\",\r\n      videoUploadMessage:\r\n        \"Déposez un fichier vidéo ou parcourez pour le télécharger\",\r\n      imageDeviceUploadMessage: \"Cliquez ici pour télécharger\",\r\n      audioDeviceUploadMessage: \"Cliquez ici pour télécharger\",\r\n      videoDeviceUploadMessage: \"Cliquez ici pour télécharger\",\r\n      imageAlternateText: \"Texte alternatif\",\r\n      alternateHeader: \"Texte alternatif\",\r\n      browse: \"Parcourir\",\r\n      imageUrl: \"https://example.com/image.png\",\r\n      audioUrl: \"https://exemple.com/audio.mp3\",\r\n      videoUrl: \"https://exemple.com/video.mp4\",\r\n      webUrl: \"URL Web\",\r\n      embedUrl: \"Code intégré\",\r\n      imageCaption: \"Légende\",\r\n      imageSizeHeader: \"Taille de l'image\",\r\n      imageHeight: \"la taille\",\r\n      imageWidth: \"Largeur\",\r\n      videoHeight: \"Hauteur\",\r\n      videoWidth: \"Largeur\",\r\n      textPlaceholder: \"Entrez du texte\",\r\n      inserttablebtn: \"Insérer un tableau\",\r\n      tabledialogHeader: \"Insérer un tableau\",\r\n      tableWidth: \"Largeur\",\r\n      cellpadding: \"Rembourrage cellulaire\",\r\n      cellspacing: \"Espacement des cellules\",\r\n      columns: \"Le nombre de colonnes\",\r\n      rows: \"Nombre de rangées\",\r\n      tableRows: \"Rangée\",\r\n      tableColumns: \"Colonne\",\r\n      tableCellHorizontalAlign: \"Alignement horizontal des cellules du tableau\",\r\n      tableCellVerticalAlign: \"Alignement vertical du tableau\",\r\n      createTable: \"Créer une table\",\r\n      removeTable: \"Supprimer le tableau\",\r\n      tableHeader: \"Ligne d'en-tête\",\r\n      tableRemove: \"Supprimer le tableau\",\r\n      tableCellBackground: \"Fond de cellule de tableau\",\r\n      tableEditProperties: \"Propriétés de modification du tableau\",\r\n      styles: \"modes\",\r\n      insertColumnLeft: \"Insérer une colonne à gauche\",\r\n      insertColumnRight: \"Insérer une colonne à droite\",\r\n      deleteColumn: \"Supprimer la colonne\",\r\n      insertRowBefore: \"Insérer une ligne avant\",\r\n      insertRowAfter: \"Insérer une ligne après\",\r\n      deleteRow: \"Supprimer la ligne\",\r\n      tableEditHeader: \"Modifier le tableau\",\r\n      TableHeadingText: \"Titre\",\r\n      TableColText: \"Col\",\r\n      imageInsertLinkHeader: \"Insérer un lien\",\r\n      editImageHeader: \"Éditer l'image\",\r\n      alignmentsDropDownLeft: \"Alignez à gauche\",\r\n      alignmentsDropDownCenter: \"Aligner le centre\",\r\n      alignmentsDropDownRight: \"Aligner à droite\",\r\n      alignmentsDropDownJustify: \"Aligner Justifier\",\r\n      imageDisplayDropDownInline: \"En ligne\",\r\n      imageDisplayDropDownBreak: \"Pause\",\r\n      audioLayoutOptionDropDownInline: \"En ligne\",\r\n      audioLayoutOptionDropDownBreak: \"Casser\",\r\n      videoLayoutOptionDropDownInline: \"En ligne\",\r\n      videoLayoutOptionDropDownBreak: \"Casser\",\r\n      tableInsertRowDropDownBefore: \"Insérer une ligne avant\",\r\n      tableInsertRowDropDownAfter: \"Insérer une ligne après\",\r\n      tableInsertRowDropDownDelete: \"Supprimer la ligne\",\r\n      tableInsertColumnDropDownLeft: \"Insérer la colonne à gauche\",\r\n      tableInsertColumnDropDownRight: \"Insérer une colonne à droite\",\r\n      tableInsertColumnDropDownDelete: \"Supprimer la colonne\",\r\n      tableVerticalAlignDropDownTop: \"Aligner en haut\",\r\n      tableVerticalAlignDropDownMiddle: \"Aligner au milieu\",\r\n      tableVerticalAlignDropDownBottom: \"Aligner en bas\",\r\n      tableStylesDropDownDashedBorder: \"Bordures pointillées\",\r\n      tableStylesDropDownAlternateRows: \"Lignes alternatives\",\r\n      pasteFormat: \"Coller le format\",\r\n      pasteFormatContent: \"Choisissez l'action de formatage\",\r\n      plainText: \"Texte brut\",\r\n      cleanFormat: \"Nettoyer\",\r\n      keepFormat: \"Garder\",\r\n      pasteDialogOk: \"D'accord\",\r\n      pasteDialogCancel: \"Annuler\",\r\n      fileManager: \"Gestionnaire de fichiers\",\r\n      fileDialogHeader: \"Navigateur de fichiers\",\r\n      formatsDropDownParagraph: \"Paragraphe\",\r\n      formatsDropDownCode: \"Code\",\r\n      formatsDropDownQuotation: \"Devis\",\r\n      formatsDropDownHeading1: \"Titre 1\",\r\n      formatsDropDownHeading2: \"Titre 2\",\r\n      formatsDropDownHeading3: \"Titre 3\",\r\n      formatsDropDownHeading4: \"Titre 4\",\r\n      fontNameSegoeUI: \"SegoeUI\",\r\n      fontNameArial: \"Arial\",\r\n      fontNameGeorgia: \"Georgia\",\r\n      fontNameImpact: \"Impact\",\r\n      fontNameTahoma: \"Tahoma\",\r\n      fontNameTimesNewRoman: \"Times New Roman\",\r\n      fontNameVerdana: \"Verdana\",\r\n      formatsOLListNumber: \"Nombre\",\r\n      formatsOLListLowerAlpha: \"Alpha inférieur\",\r\n      formatsOLListUpperAlpha: \"Alpha supérieur\",\r\n      formatsOLListLowerRoman: \"Bas-Romain\",\r\n      formatsOLListUpperRoman: \"Haut-Romain\",\r\n      formatsOLListLowerGreek: \"bas grec\",\r\n      formatsULListDisc: \"Disque\",\r\n      formatsULListCircle: \"Cercle\",\r\n      formatsULListSquare: \"Carré\",\r\n      formatsOLListNone: \"Rien\",\r\n      formatsULListNone: \"Rien\",\r\n      formatPainter: \"Peintre de format\",\r\n      emojiPicker: \"Sélecteur d'émoticônes\",\r\n      embeddedCode: \"Code intégré\",\r\n      pasteEmbeddedCodeHere: \"Collez le code intégré ici\",\r\n      emojiPickerTypeToFind: \"Tapez pour trouver\",\r\n      emojiPickerNoResultFound: \"Aucun résultat trouvé\",\r\n      emojiPickerTrySomethingElse: \"Essayez autre chose\",\r\n      linkAriaLabel: \"Ouvrir dans une nouvelle fenêtre\",\r\n      imageLinkAriaLabel: \"Ouvrir dans une nouvelle fenêtre\",\r\n      unsupportedImage: \"Format de fichier non pris en charge\",\r\n      mergecells: \"Fusionner des cellules\",\r\n      verticalsplit: \"Division verticale\",\r\n      horizontalsplit: \"Division horizontale\",\r\n      numberFormatListNumber: \"Nombre\",\r\n      numberFormatListLowerAlpha: \"Alpha inférieur\",\r\n      numberFormatListUpperAlpha: \"Alpha supérieur\",\r\n      numberFormatListLowerRoman: \"Bas-romain\",\r\n      numberFormatListUpperRoman: \"Haut-romain\",\r\n      numberFormatListLowerGreek: \"Grec inférieur\",\r\n      bulletFormatListDisc: \"Disque\",\r\n      bulletFormatListCircle: \"Cercle\",\r\n      bulletFormatListSquare: \"Carré\",\r\n      numberFormatListNone: \"Rien\",\r\n      bulletFormatListNone: \"Rien\",\r\n      slashMenuItemHeadingOneText: \"Titre 1\",\r\n      slashMenuItemHeadingOneDescription:\r\n        \"Utilisez-le pour un en-tête ou un titre de niveau supérieur.\",\r\n      slashMenuItemHeadingTwoText: \"Titre 2\",\r\n      slashMenuItemHeadingTwoDescription: \"Utilisez-le pour les sections clés.\",\r\n      slashMenuItemHeadingThreeText: \"Titre 3\",\r\n      slashMenuItemHeadingThreeDescription:\r\n        \"Utilisez-le pour les sous-sections et les titres de groupe.\",\r\n      slashMenuItemHeadingFourText: \"Titre 4\",\r\n      slashMenuItemHeadingFourDescription:\r\n        \"Utilisez-le pour les points clés des sous-thèmes.\",\r\n      slashMenuItemParagraphText: \"Paragraphe\",\r\n      slashMenuItemParagraphDescription: \"Écrire avec des paragraphes.\",\r\n      slashMenuItemBlockquoteText: \"Citation de bloc\",\r\n      slashMenuItemBlockquoteDescription: \"Créez une citation ou une citation.\",\r\n      slashMenuItemOrderedListText: \"Liste ordonnée\",\r\n      slashMenuItemOrderedListDescription: \"Créez une liste ordonnée.\",\r\n      slashMenuItemUnorderedListText: \"Liste non ordonnée\",\r\n      slashMenuItemUnorderedListDescription: \"Créez une liste non ordonnée.\",\r\n      slashMenuItemCodeText: \"Bloc de code\",\r\n      slashMenuItemCodeDescription: \"Créez un bloc de code préformaté.\",\r\n      slashMenuItemTableText: \"Tableau\",\r\n      slashMenuItemTableDescription: \"Insérez un tableau.\",\r\n      slashMenuItemLinkText: \"Lien\",\r\n      slashMenuItemLinkDescription: \"Insérez un lien.\",\r\n      slashMenuItemImageText: \"Image\",\r\n      slashMenuItemImageDescription: \"Insérez une image.\",\r\n      slashMenuItemAudioText: \"Audio\",\r\n      slashMenuItemAudioDescription: \"Insérez un audio.\",\r\n      slashMenuItemVideoText: \"Vidéo\",\r\n      slashMenuItemVideoDescription: \"Insérez une vidéo.\",\r\n      slashMenuItemEmojiText: \"Sélecteur d'Emoji\",\r\n      slashMenuItemEmojiDescription:\r\n        \"Utilisez des émojis pour exprimer des idées et des émoticônes.\",\r\n    },\r\n    colorpicker: {\r\n      Apply: \"Appliquer\",\r\n      Cancel: \"Annuler\",\r\n      ModeSwitcher: \"Commutateur de mode\",\r\n      RecentColors: \"Couleurs récentes\",\r\n    },\r\n    uploader: {\r\n      Browse: \"Parcourir...\",\r\n      Clear: \"Effacer\",\r\n      Upload: \"Téléverser\",\r\n      dropFilesHint: \"Ou déposer des fichiers ici\",\r\n      invalidMaxFileSize: \"La taille du fichier est trop grande\",\r\n      invalidMinFileSize: \"La taille du fichier est trop petite\",\r\n      invalidFileType: \"Le type de fichier n'est pas autorisé\",\r\n      uploadFailedMessage: \"Le fichier n'a pas pu être téléversé\",\r\n      uploadSuccessMessage: \"Fichier téléversé avec succès\",\r\n      removedSuccessMessage: \"Fichier retiré avec succès\",\r\n      removedFailedMessage: \"Impossible de retirer le fichier\",\r\n      inProgress: \"Téléversement en cours\",\r\n      readyToUploadMessage: \"Prêt à téléverser\",\r\n      abort: \"Annuler\",\r\n      remove: \"Retirer\",\r\n      cancel: \"Annuler\",\r\n      delete: \"Supprimer le fichier\",\r\n      pauseUpload: \"Téléversement du fichier en pause\",\r\n      pause: \"Pause\",\r\n      resume: \"Reprendre\",\r\n      retry: \"Réessayer\",\r\n      fileUploadCancel: \"Téléversement du fichier annulé\",\r\n    },\r\n    numerictextbox: {\r\n      incrementTitle: \"Incrémenter la valeur\",\r\n      decrementTitle: \"Décrémenter la valeur\",\r\n    },\r\n    slider: {\r\n      incrementTitle: \"Augmenter\",\r\n      decrementTitle: \"Diminuer\",\r\n    },\r\n    formValidator: {\r\n      required: \"Ce champ est requis.\",\r\n      email: \"Veuillez saisir une adresse email valide.\",\r\n      url: \"Veuillez saisir une URL valide.\",\r\n      date: \"Veuillez entrer une date valide.\",\r\n      dateIso: \"Veuillez saisir une date valide (ISO).\",\r\n      creditcard: \"Veuillez entrer un numéro de carte valide\",\r\n      number: \"Veuillez entrer un nombre valide.\",\r\n      digits: \"Merci de n'entrer que des chiffres.\",\r\n      maxLength: \"Veuillez ne pas saisir plus de {0} caractères.\",\r\n      minLength: \"Veuillez saisir au moins {0} caractères.\",\r\n      rangeLength:\r\n        \"Veuillez saisir une valeur comprise entre {0} et {1} caractères.\",\r\n      range: \"Veuillez saisir une valeur comprise entre {0} et {1}.\",\r\n      max: \"Veuillez saisir une valeur inférieure ou égale à {0}.\",\r\n      min: \"Veuillez saisir une valeur supérieure ou égale à {0}.\",\r\n      regex: \"Veuillez saisir une valeur correcte.\",\r\n      tel: \"Veuillez entrer un numéro de téléphone valide.\",\r\n      pattern: \"Veuillez saisir une valeur de motif correcte.\",\r\n      equalTo: \"Veuillez saisir le texte de correspondance valide\",\r\n    },\r\n    treegrid: {\r\n      Above: \"Au-dessus\",\r\n      Below: \"En-dessous\",\r\n      AddRow: \"Ajouter une ligne\",\r\n      ExpandAll: \"Tout développer\",\r\n      CollapseAll: \"Tout réduire\",\r\n    },\r\n    querybuilder: {\r\n      StartsWith: \"Commence avec\",\r\n      EndsWith: \"Se termine par\",\r\n      Contains: \"Contient\",\r\n      NotLike: \"Pas comme\",\r\n      Like: \"Comme\",\r\n      Equal: \"Égal\",\r\n      NotEqual: \"Non égal\",\r\n      LessThan: \"Moins que\",\r\n      LessThanOrEqual: \"Inférieur ou égal\",\r\n      GreaterThan: \"Plus grand que\",\r\n      GreaterThanOrEqual: \"Supérieur ou égal\",\r\n      Between: \"Entre\",\r\n      NotBetween: \"Pas entre\",\r\n      Empty: \"Vide\",\r\n      NotEmpty: \"Non vide\",\r\n      In: \"Dans\",\r\n      NotIn: \"Pas dans\",\r\n      NotContains: \"Ne contient pas\",\r\n      Remove: \"ENLEVER\",\r\n      SelectField: \"Sélectionnez un champ\",\r\n      SelectOperator: \"Sélectionnez un opérateur\",\r\n      DeleteRule: \"Supprimer cette condition\",\r\n      DeleteGroup: \"Supprimer le groupe\",\r\n      AddGroup: \"Ajouter un groupe\",\r\n      AddCondition: \"Ajouter une condition\",\r\n      Edit: \"ÉDITER\",\r\n      ValidationMessage: \"Ce champ est requis\",\r\n      SummaryViewTitle: \"Vue récapitulative\",\r\n      OtherFields: \"Autres champs\",\r\n      AND: \"ET\",\r\n      OR: \"OU\",\r\n      SelectValue: \"Entrez une valeur\",\r\n      IsEmpty: \"Est vide\",\r\n      IsNotEmpty: \"N'est pas vide\",\r\n      IsNull: \"Est nul\",\r\n      IsNotNull: \"N'est pas nul\",\r\n      True: \"vrai\",\r\n      False: \"faux\",\r\n      DoesNotStartWith: \"Ne commence pas par\",\r\n      DoesNotEndWith: \"Ne se termine pas par\",\r\n      DoesNotContain: \"Ne contient pas\",\r\n      AddButton: \"Ajouter un groupe/une condition\",\r\n      CloneGroup: \"Cloner le groupe\",\r\n      LockGroup: \"Verrouiller le groupe\",\r\n      CloneRule: \"Cloner la règle\",\r\n      LockRule: \"Verrouiller la règle\",\r\n      UnlockRule: \"Règle de déverrouillage\",\r\n      UnlockGroup: \"Déverrouiller le groupe\",\r\n      NOT: \"Pas\",\r\n    },\r\n    barcode: {},\r\n    datamatrix: {},\r\n    qrcode: {},\r\n    pivotview: {\r\n      applyToGrandTotal: \"Appliquer au Grand Total\",\r\n      grandTotal: \"Grand total\",\r\n      total: \"Total\",\r\n      value: \"Valeur\",\r\n      noValue: \"Aucune valeur\",\r\n      row: \"Ligne\",\r\n      column: \"Colonne\",\r\n      collapse: \"Réduire\",\r\n      expand: \"Développer\",\r\n      rowAxisPrompt: \"Déposer les lignes ici\",\r\n      columnAxisPrompt: \"Déposer les colonne ici\",\r\n      valueAxisPrompt: \"Déposer les valeurs ici\",\r\n      filterAxisPrompt: \"Déposer le filtre ici\",\r\n      filter: \"Filtrer\",\r\n      filtered: \"Filtré\",\r\n      sort: \"Trier\",\r\n      filters: \"Filtres\",\r\n      rows: \"Lignes\",\r\n      columns: \"Colonnes\",\r\n      values: \"Valeurs\",\r\n      close: \"Fermer\",\r\n      cancel: \"Annuler\",\r\n      delete: \"Supprimer\",\r\n      CalculatedField: \"Champ calculé\",\r\n      createCalculatedField: \"Créer un champ calculé\",\r\n      fieldName: \"Entrez le nom du champ\",\r\n      error: \"Erreur\",\r\n      invalidFormula: \"Formule non valide.\",\r\n      dropText: \"Exemple : ('Somme (Order_Count)' + 'Somme (In_Stock)') * 250\",\r\n      dropTextMobile: \"Ajoutez des champs et modifiez la formule ici.\",\r\n      dropAction:\r\n        \"Le champ calculé ne peut être placé dans aucune autre région à l'exception de l'axe des valeurs.\",\r\n      alert: \"Alerte\",\r\n      warning: \"Avertissement\",\r\n      ok: \"OK\",\r\n      search: \"Rechercher\",\r\n      drag: \"Glisser\",\r\n      remove: \"Retirer\",\r\n      allFields: \"Tous les champs\",\r\n      formula: \"Formule\",\r\n      addToRow: \"Ajouter à la ligne\",\r\n      addToColumn: \"Ajouter à la colonne\",\r\n      addToValue: \"Ajouter à la valeur\",\r\n      addToFilter: \"Ajouter au filtre\",\r\n      emptyData: \"Aucun enregistrement à afficher\",\r\n      fieldExist:\r\n        \"Un champ existe déjà sous ce nom. Veuillez saisir un nom différent.\",\r\n      confirmText:\r\n        \"Un champ de calcul existe déjà sous ce nom. Voulez-vous le remplacer ?\",\r\n      noMatches: \"Pas de correspondance\",\r\n      format: \"Résume les valeurs par\",\r\n      edit: \"Éditer\",\r\n      clear: \"Clair\",\r\n      formulaField: \"Glissez et déposez les champs dans la formule\",\r\n      dragField: \"Faites glisser le champ vers la formule\",\r\n      clearFilter: \"Effacer les filtres\",\r\n      by: \"par\",\r\n      all: \"Tout\",\r\n      multipleItems: \"Articles multiples\",\r\n      member: \"Membre\",\r\n      label: \"Étiquette\",\r\n      date: \"Date\",\r\n      enterValue: \"Entrez une valeur\",\r\n      chooseDate: \"Entrez la date\",\r\n      Before: \"Avant\",\r\n      BeforeOrEqualTo: \"Avant ou égal à\",\r\n      After: \"Après\",\r\n      AfterOrEqualTo: \"Après ou égal à\",\r\n      labelTextContent: \"Afficher les éléments pour lesquels l'étiquette\",\r\n      dateTextContent: \"Afficher les articles pour lesquels la date\",\r\n      valueTextContent: \"Afficher les éléments pour lesquels\",\r\n      Equals: \"Équivaut à\",\r\n      DoesNotEquals: \"N'est pas égal\",\r\n      BeginWith: \"Commence par\",\r\n      DoesNotBeginWith: \"Ne commence pas par\",\r\n      EndsWith: \"Se termine par\",\r\n      DoesNotEndsWith: \"Ne se termine pas par\",\r\n      Contains: \"Contient\",\r\n      DoesNotContains: \"Ne contient pas\",\r\n      GreaterThan: \"Plus grand que\",\r\n      GreaterThanOrEqualTo: \"Plus grand ou égal à\",\r\n      LessThan: \"Moins que\",\r\n      LessThanOrEqualTo: \"Inférieur ou égal à\",\r\n      Between: \"Entre\",\r\n      NotBetween: \"Pas entre\",\r\n      And: \"et\",\r\n      Sum: \"Somme\",\r\n      Count: \"Compter\",\r\n      DistinctCount: \"Nombre distinct\",\r\n      Product: \"Produit\",\r\n      Avg: \"Moyenne.\",\r\n      Min: \"Min\",\r\n      SampleVar: \"Échantillon Var\",\r\n      PopulationVar: \"Population Var\",\r\n      RunningTotals: \"Totaux en cours d'exécution\",\r\n      Max: \"Max\",\r\n      Index: \"Indice\",\r\n      SampleStDev: \"Exemple StDev\",\r\n      PopulationStDev: \"La population de StDev\",\r\n      PercentageOfRowTotal: \"% du total des lignes\",\r\n      PercentageOfParentTotal: \"% du total des parents\",\r\n      PercentageOfParentColumnTotal: \"% du total de la colonne parent\",\r\n      PercentageOfParentRowTotal: \"% du total de la ligne parent\",\r\n      DifferenceFrom: \"Différence de\",\r\n      PercentageOfDifferenceFrom: \"% de différence par rapport à\",\r\n      PercentageOfGrandTotal: \"% du grand total\",\r\n      PercentageOfColumnTotal: \"% du total de la colonne\",\r\n      NotEquals: \"Pas égal\",\r\n      AllValues: \"Toutes les valeurs\",\r\n      conditionalFormatting: \"Mise en forme conditionnelle\",\r\n      apply: \"APPLIQUER\",\r\n      condition: \"Ajouter une condition\",\r\n      formatLabel: \"Format\",\r\n      valueFieldSettings: \"Paramètres de champ de valeur\",\r\n      baseField: \"Champ de base:\",\r\n      baseItem: \"Élément de base:\",\r\n      summarizeValuesBy: \"Résumez les valeurs en:\",\r\n      sourceName: \"Nom de domaine :\",\r\n      sourceCaption: \"Légende du champ:\",\r\n      example: \"par exemple:\",\r\n      editorDataLimitMsg:\r\n        \" Plus d'articles. Recherchez pour affiner davantage.\",\r\n      details: \"Détails\",\r\n      manageRecords: \"Gérer les enregistrements\",\r\n      Years: \"Ans\",\r\n      Quarters: \"Quartiers\",\r\n      Months: \"Mois\",\r\n      Days: \"Journées\",\r\n      Hours: \"Heures\",\r\n      Minutes: \"Minutes\",\r\n      Seconds: \"Secondes\",\r\n      save: \"Enregistrer un rapport\",\r\n      new: \"Créer un nouveau rapport\",\r\n      load: \"Charger\",\r\n      saveAs: \"Enregistrer en tant que rapport actuel\",\r\n      rename: \"Renommer un rapport actuel\",\r\n      deleteReport: \"Supprimer un rapport actuel\",\r\n      export: \"Exportation\",\r\n      subTotals: \"Sous-totaux\",\r\n      grandTotals: \"Totaux généraux\",\r\n      reportName: \"Nom du rapport:\",\r\n      pdf: \"PDF\",\r\n      excel: \"Excel\",\r\n      csv: \"CSV\",\r\n      png: \"PNG\",\r\n      jpeg: \"JPEG\",\r\n      svg: \"SVG\",\r\n      mdxQuery: \"Requête MDX\",\r\n      showSubTotals: \"Afficher les sous-totaux\",\r\n      doNotShowSubTotals: \"Ne pas afficher les sous-totaux\",\r\n      showSubTotalsRowsOnly: \"Afficher uniquement les lignes de sous-totaux\",\r\n      showSubTotalsColumnsOnly:\r\n        \"Afficher uniquement les colonnes de sous-totaux\",\r\n      showGrandTotals: \"Afficher les totaux généraux\",\r\n      doNotShowGrandTotals: \"Ne pas afficher les totaux généraux\",\r\n      showGrandTotalsRowsOnly:\r\n        \"Afficher uniquement les lignes des totaux généraux\",\r\n      showGrandTotalsColumnsOnly:\r\n        \"Afficher uniquement les colonnes des totaux généraux\",\r\n      fieldList: \"Afficher la liste des champs\",\r\n      grid: \"Afficher le tableau\",\r\n      toolbarFormatting: \"Mise en forme conditionnelle\",\r\n      chart: \"Graphique\",\r\n      reportMsg: \"Veuillez entrer un nom de rapport valide !!!\",\r\n      reportList: \"Liste des rapports\",\r\n      removeConfirm: \"Voulez-vous vraiment supprimer ce rapport ?\",\r\n      emptyReport: \"Aucun rapport trouvé !\",\r\n      bar: \"Barre\",\r\n      line: \"Ligne\",\r\n      area: \"Zone\",\r\n      scatter: \"Dispersion\",\r\n      polar: \"Polaire\",\r\n      of: \"de\",\r\n      emptyFormat: \"Aucun format trouvé !\",\r\n      emptyInput: \"Entrez une valeur\",\r\n      newReportConfirm:\r\n        \"Vous souhaitez enregistrer les modifications à signaler ?\",\r\n      emptyReportName: \"Entrez un nom de rapport\",\r\n      qtr: \"Trimestre\",\r\n      null: \"nul\",\r\n      undefined: \"indéfini\",\r\n      groupOutOfRange: \"Hors de portée\",\r\n      fieldDropErrorAction:\r\n        \"Le champ que vous déplacez ne peut pas être placé dans cette zone du rapport\",\r\n      MoreOption: \"Plus...\",\r\n      aggregate: \"Agrégat\",\r\n      drillThrough: \"Afficher le détail\",\r\n      ascending: \"Ascendant\",\r\n      descending: \"Descendant\",\r\n      number: \"Nombre\",\r\n      currency: \"Devise\",\r\n      percentage: \"Pourcentage\",\r\n      formatType: \"Type de format\",\r\n      customText: \"Symbole de la monnaie\",\r\n      symbolPosition: \"Position du symbole\",\r\n      left: \"Gauche\",\r\n      right: \"Droite\",\r\n      grouping: \"Regroupement\",\r\n      true: \"Vrai\",\r\n      false: \"Faux\",\r\n      decimalPlaces: \"Décimales\",\r\n      numberFormat: \"Formatage des nombres\",\r\n      memberType: \"Type de champ\",\r\n      formatString: \"Format de chaîne\",\r\n      expressionField: \"Expression\",\r\n      customFormat: \"Entrez une chaîne de format personnalisé\",\r\n      selectedHierarchy: \"Hiérarchie parente\",\r\n      olapDropText:\r\n        \"Exemple: [Mesures]. [Quantité de commande] + ([Mesures]. [Quantité de commande] * 0,10)\",\r\n      Percent: \"Pour cent\",\r\n      Custom: \"Personnalisé\",\r\n      Measure: \"Mesure\",\r\n      Dimension: \"Dimension\",\r\n      Standard: \"Standard\",\r\n      blank: \"(Vide)\",\r\n      fieldTooltip:\r\n        \"Faites glisser et déposez les champs pour créer une expression. Si vous souhaitez modifier les champs calculés existants, vous pouvez y parvenir en sélectionnant simplement le champ sous « Membres calculés ».\",\r\n      QuarterYear: \"Trimestre de l'année\",\r\n      fieldTitle: \"Nom de domaine\",\r\n      drillError:\r\n        \"Impossible d'afficher les éléments bruts des champs calculés.\",\r\n      caption: \"Légende de champ\",\r\n      copy: \"Copie\",\r\n      defaultReport: \"Rapport défaut\",\r\n      customFormatString: \"Format personnalisé\",\r\n      invalidFormat: \"Format invalide.\",\r\n      group: \"Grouper\",\r\n      unGroup: \"Dissocier\",\r\n      invalidSelection: \"Impossible de grouper cette sélection.\",\r\n      groupName: \"Entrez la légende à afficher dans l'en-tête\",\r\n      captionName: \"Entrez la légende pour le champ de groupe\",\r\n      selectedItems: \"Éléments sélectionnés\",\r\n      groupFieldCaption: \"Légende de champ\",\r\n      groupTitle: \"Nom de groupe\",\r\n      startAt: \"À partir de\",\r\n      endAt: \"Se terminant à\",\r\n      groupBy: \"Grouper par\",\r\n      selectGroup: \"Sélectionnez des groupes\",\r\n      numberFormatString: \"Exemple: C, P, 0000%, ### 0. ## 0 #, etc.\",\r\n      stackingcolumn: \"Colonne empilée\",\r\n      stackingbar: \"Barre empilée\",\r\n      stackingarea: \"Zone empilée\",\r\n      stepline: \"Ligne à étape\",\r\n      steparea: \"Zone de l'étape\",\r\n      splinearea: \"Zone de point\",\r\n      spline: \"Spline\",\r\n      stackingcolumn100: \"Colonne 100% empilée\",\r\n      stackingbar100: \"Barre 100% empilée\",\r\n      stackingarea100: \"Zone 100% empilée\",\r\n      bubble: \"Bulle\",\r\n      pareto: \"Pareto\",\r\n      radar: \"Radar\",\r\n      chartTypeSettings: \"Paramètres de type de graphique\",\r\n      multipleAxes: \"Axe Multiples \",\r\n      sortAscending: \"Trier par ordre croissant\",\r\n      sortDescending: \"Trier par ordre décroissant\",\r\n      sortNone: \"Trier par ordre des données\",\r\n      clearCalculatedField: \"Effacer les informations des champs modifiés\",\r\n      editCalculatedField: \"Modifier le champ calculé\",\r\n      ChartType: \"Type de graphique\",\r\n      yes: \"Oui\",\r\n      no: \"Non\",\r\n      numberFormatMenu: \"Formatage des nombres ...\",\r\n      conditionalFormattingMenu: \"Mise en forme conditionnelle...\",\r\n      removeCalculatedField:\r\n        \"Voulez-vous vraiment supprimer ce champ calculé ?\",\r\n      replaceConfirmBefore: \"Un rapport nommé\",\r\n      replaceConfirmAfter: \" existe déjà. Voulez-vous le remplacer ?\",\r\n      pie: \"Tarte\",\r\n      funnel: \"Entonnoir\",\r\n      doughnut: \"Donut\",\r\n      pyramid: \"Pyramide\",\r\n      showLegend: \"Afficher la légende\",\r\n      exit: \"Sortie\",\r\n      invalidJSON: \"Données JSON non valides\",\r\n      invalidCSV: \"Données CSV non valides\",\r\n      stacked: \"Empilé\",\r\n      single: \"Seul\",\r\n      multipleAxisMode: \"Mode à axes multiples\",\r\n      grandTotalPosition: \"Position des totaux généraux\",\r\n      top: \"Haut\",\r\n      bottom: \"Bas\",\r\n      None: \"Aucun\",\r\n      stackingline: \"Ligne empilée\",\r\n      stackingline100: \"100% Ligne empilée\",\r\n      rowPage: \"Téléavertisseur de ligne\",\r\n      rowPerPage: \"Lignes par page\",\r\n      columnPage: \"Téléavertisseur de colonne\",\r\n      columnPerPage: \"Colonnes par page\",\r\n      goToFirstPage: \"Aller à la première page\",\r\n      goToPreviousPage: \"Aller à la page précédente\",\r\n      goToNextPage: \"Aller à la page suivante\",\r\n      goToLastPage: \"Aller à la dernière page\",\r\n      combined: \"Combiné\",\r\n      subTotalPosition: \"Position des sous-totaux\",\r\n      auto: \"Auto\",\r\n      loading: \"Chargement...\",\r\n      add: \"Ajouter\",\r\n    },\r\n    pivotfieldlist: {\r\n      staticFieldList: \"Liste des champs de pivot\",\r\n      fieldList: \"Liste de champ\",\r\n      dropFilterPrompt: \"Déposer le filtre ici\",\r\n      dropColPrompt: \"Déposer la colonne ici\",\r\n      dropRowPrompt: \"Déposer la ligne ici\",\r\n      dropValPrompt: \"Déposer la valeur ici\",\r\n      addPrompt: \"Ajouter un champ ici\",\r\n      adaptiveFieldHeader: \"Choisissez un champ\",\r\n      centerHeader: \"Faites glisser les champs entre les axes ci-dessous :\",\r\n      add: \"Ajouter\",\r\n      drag: \"Glisser\",\r\n      filter: \"Filtre\",\r\n      filtered: \"Filtré\",\r\n      sort: \"Trier\",\r\n      remove: \"Retirer\",\r\n      filters: \"Filtres\",\r\n      rows: \"Lignes\",\r\n      columns: \"Colonnes\",\r\n      values: \"Valeurs\",\r\n      CalculatedField: \"Champ calculé\",\r\n      createCalculatedField: \"Créer un champ calculé\",\r\n      fieldName: \"Entrez le nom du champ\",\r\n      error: \"Erreur\",\r\n      invalidFormula: \"Formule non valide.\",\r\n      dropText: \"Exemple: ('Sum (Order_Count)' + 'Sum (In_Stock)' ') * 250\",\r\n      dropTextMobile: \"Ajoutez des champs et modifiez la formule ici.\",\r\n      dropAction:\r\n        \"Le champ calculé ne peut être placé dans aucune autre région à l'exception de l'axe des valeurs.\",\r\n      search: \"Chercher\",\r\n      close: \"Fermer\",\r\n      cancel: \"Annuler\",\r\n      delete: \"Supprimer\",\r\n      alert: \"Alerte\",\r\n      warning: \"Avertissement\",\r\n      ok: \"Valider\",\r\n      allFields: \"Tous les champs\",\r\n      formula: \"Formule\",\r\n      fieldExist:\r\n        \"Un champ existe déjà sous ce nom. Veuillez saisir un nom différent.\",\r\n      confirmText:\r\n        \"Un champ de calcul existe déjà sous ce nom. Voulez-vous le remplacer ?\",\r\n      noMatches: \"Pas de correspondance\",\r\n      format: \"Résume les valeurs par\",\r\n      edit: \"Éditer\",\r\n      clear: \"Effacer\",\r\n      formulaField: \"Glissez et déposez les champs dans la formule\",\r\n      dragField: \"Faites glisser le champ vers la formule\",\r\n      clearFilter: \"Effacer les filtres\",\r\n      by: \"par\",\r\n      enterValue: \"Entrez une valeur\",\r\n      chooseDate: \"Entrez la date\",\r\n      all: \"Tout\",\r\n      multipleItems: \"Articles multiples\",\r\n      Equals: \"Équivaut à\",\r\n      DoesNotEquals: \"N'est pas égal\",\r\n      BeginWith: \"Commence par\",\r\n      DoesNotBeginWith: \"Ne commence pas par\",\r\n      EndsWith: \"Se termine par\",\r\n      DoesNotEndsWith: \"Ne se termine pas par\",\r\n      Contains: \"Contient\",\r\n      DoesNotContains: \"Ne contient pas\",\r\n      GreaterThan: \"Plus grand que\",\r\n      GreaterThanOrEqualTo: \"Plus grand ou égal à\",\r\n      LessThan: \"Moins que\",\r\n      LessThanOrEqualTo: \"Inférieur ou égal à\",\r\n      Between: \"Entre\",\r\n      NotBetween: \"Pas entre\",\r\n      Before: \"Avant\",\r\n      BeforeOrEqualTo: \"Avant ou égal à\",\r\n      After: \"Après\",\r\n      AfterOrEqualTo: \"Après ou égal à\",\r\n      member: \"Membre\",\r\n      label: \"Étiquette\",\r\n      date: \"Date\",\r\n      value: \"Valeur\",\r\n      labelTextContent: \"Afficher les éléments pour lesquels l'étiquette\",\r\n      dateTextContent: \"Afficher les éléments pour lesquels la date\",\r\n      valueTextContent: \"Afficher les articles pour lesquels\",\r\n      And: \"et\",\r\n      Sum: \"Somme\",\r\n      Count: \"Compter\",\r\n      DistinctCount: \"Nombre distinct\",\r\n      Product: \"Produit\",\r\n      Avg: \"Moyenne\",\r\n      Min: \"Min\",\r\n      Max: \"Max\",\r\n      Index: \"Indice\",\r\n      SampleStDev: \"Exemple StDev\",\r\n      PopulationStDev: \"La population de StDev\",\r\n      SampleVar: \"Échantillon Var\",\r\n      PopulationVar: \"Population Var\",\r\n      RunningTotals: \"Totaux en cours d'exécution\",\r\n      DifferenceFrom: \"Différence de\",\r\n      PercentageOfDifferenceFrom: \"% de différence par rapport à\",\r\n      PercentageOfGrandTotal: \"% du grand total\",\r\n      PercentageOfColumnTotal: \"% du total de la colonne\",\r\n      PercentageOfRowTotal: \"% du total des lignes\",\r\n      PercentageOfParentTotal: \"% du total des parents\",\r\n      PercentageOfParentColumnTotal: \"% du total de la colonne parent\",\r\n      PercentageOfParentRowTotal: \"% du total de la ligne parent\",\r\n      Years: \"Ans\",\r\n      Quarters: \"Quartiers\",\r\n      Months: \"Mois\",\r\n      Days: \"Jours\",\r\n      Hours: \"Heures\",\r\n      Minutes: \"Minutes\",\r\n      Seconds: \"Secondes\",\r\n      apply: \"APPLIQUER\",\r\n      valueFieldSettings: \"Paramètres de champ de valeur\",\r\n      sourceName: \"Nom de champ :\",\r\n      sourceCaption: \"Légende de champ :\",\r\n      summarizeValuesBy: \"Résumer les valeurs par :\",\r\n      baseField: \"Champ de base:\",\r\n      baseItem: \"Élément de base:\",\r\n      example: \"par exemple:\",\r\n      editorDataLimitMsg:\r\n        \" Plus d'articles. Recherchez pour affiner davantage.\",\r\n      deferLayoutUpdate: \"Différer la mise à jour de la mise en page\",\r\n      null: \"nul\",\r\n      undefined: \"indéfini\",\r\n      groupOutOfRange: \"Hors de portée\",\r\n      fieldDropErrorAction:\r\n        \"Le champ que vous déplacez ne peut pas être placé dans cette zone du rapport\",\r\n      MoreOption: \"Plus...\",\r\n      memberType: \"Type de champ\",\r\n      selectedHierarchy: \"Hiérarchie parente\",\r\n      formatString: \"Format de chaîne\",\r\n      expressionField: \"Expression\",\r\n      olapDropText:\r\n        \"Exemple: [Mesures]. [Quantité de commande] + ([Mesures]. [Quantité de commande] * 0,10)\",\r\n      customFormat: \"Entrez une chaîne de format personnalisé\",\r\n      Measure: \"Mesure\",\r\n      Dimension: \"Dimension\",\r\n      Standard: \"Standard\",\r\n      Currency: \"Devise\",\r\n      Percent: \"Pour cent\",\r\n      Custom: \"Personnalisé\",\r\n      blank: \"(Vide)\",\r\n      fieldTooltip:\r\n        \"Faites glisser et déposez les champs pour créer une expression. Si vous souhaitez modifier les champs calculés existants, vous pouvez y parvenir en sélectionnant simplement le champ sous « Membres calculés ».\",\r\n      fieldTitle: \"Nom de domaine\",\r\n      QuarterYear: \"Trimestre de l'année\",\r\n      caption: \"Légende de champ\",\r\n      copy: \"Copie\",\r\n      group: \"Grouper\",\r\n      numberFormatString: \"Exemple: C, P, 0000%, ### 0. ## 0 #, etc.\",\r\n      sortAscending: \"Trier par ordre croissant\",\r\n      sortDescending: \"Trier par ordre décroissant\",\r\n      sortNone: \"Trier par ordre des données\",\r\n      clearCalculatedField: \"Effacer les informations des champs modifiés\",\r\n      editCalculatedField: \"Modifier le champ calculé\",\r\n      selectGroup: \"Sélectionnez des groupes\",\r\n      of: \"de\",\r\n      removeCalculatedField:\r\n        \"Voulez-vous vraiment supprimer ce champ calculé ?\",\r\n      yes: \"Oui\",\r\n      no: \"Non\",\r\n      None: \"Aucun\",\r\n      qtr: \"trimestre\",\r\n      grandTotal: \"Grand Total\",\r\n    },\r\n    pdfviewer: {\r\n      PdfViewer: \"Visionneuse PDF\",\r\n      Cancel: \"Annuler\",\r\n      \"Download file\": \"Télécharger le fichier\",\r\n      Download: \"Télécharger\",\r\n      \"Enter Password\":\r\n        \"Ce document est protégé par mot de passe. Veuillez entrer un mot de passe.\",\r\n      \"File Corrupted\": \"Fichier corrompu\",\r\n      \"File Corrupted Content\":\r\n        \"Le fichier est corrompu et ne peut pas être ouvert.\",\r\n      \"Fit Page\": \"Ajuster la page\",\r\n      \"Fit Width\": \"Ajuster la largeur\",\r\n      Automatic: \"Automatique\",\r\n      \"Go To First Page\": \"Afficher la première page\",\r\n      \"Invalid Password\": \"Mot de passe incorrect. Veuillez réessayer.\",\r\n      \"Next Page\": \"Afficher la page suivante\",\r\n      OK: \"OK\",\r\n      Open: \"Ouvrir le fichier\",\r\n      \"Page Number\": \"Numéro de page actuel\",\r\n      \"Previous Page\": \"Afficher la page précédente\",\r\n      \"Go To Last Page\": \"Afficher la dernière page\",\r\n      Zoom: \"Zoom\",\r\n      \"Zoom In\": \"Agrandir\",\r\n      \"Zoom Out\": \"Dézoomer\",\r\n      \"Page Thumbnails\": \"Vignettes de page\",\r\n      Bookmarks: \"Signets\",\r\n      Print: \"Imprimer le fichier\",\r\n      \"Password Protected\": \"Mot de passe requis\",\r\n      Copy: \"Copier\",\r\n      \"Text Selection\": \"Outil de sélection de texte\",\r\n      Panning: \"Mode panoramique\",\r\n      \"Text Search\": \"Rechercher du texte\",\r\n      \"Find in document\": \"Rechercher dans le document\",\r\n      \"Match case\": \"Cas de correspondance\",\r\n      Apply: \"Appliquer\",\r\n      GoToPage: \"Aller à la page\",\r\n      \"No matches\":\r\n        \"La visionneuse a terminé la recherche du document. Aucune autre correspondance n'a été trouvée\",\r\n      \"No Text Found\": \"Aucun texte trouvé\",\r\n      Undo: \"Défaire\",\r\n      Redo: \"Refaire\",\r\n      Annotation: \"Ajouter ou modifier des annotations\",\r\n      Highlight: \"Texte Surligner\",\r\n      Underline: \"Souligner le texte\",\r\n      Strikethrough: \"Texte barré\",\r\n      Delete: \"Supprimer l'annotation\",\r\n      Opacity: \"Opacité\",\r\n      \"Color edit\": \"Changer de couleur\",\r\n      \"Opacity edit\": \"Changer l'opacité\",\r\n      \"Highlight context\": \"Surligner\",\r\n      \"Underline context\": \"Souligner\",\r\n      \"Strikethrough context\": \"Barrer\",\r\n      \"Server error\":\r\n        \"Le service Web n'écoute pas. PDF Viewer dépend du service Web pour toutes ses fonctionnalités. Veuillez démarrer le service Web pour continuer.\",\r\n      \"Open text\": \"Ouvert\",\r\n      \"First text\": \"Première Page\",\r\n      \"Previous text\": \"Page Précédente\",\r\n      \"Next text\": \"Page Suivante\",\r\n      \"Last text\": \"Dernière Page\",\r\n      \"Zoom in text\": \"Zoom Avant\",\r\n      \"Zoom out text\": \"Zoom Arrière\",\r\n      \"Selection text\": \"Sélection\",\r\n      \"Pan text\": \"La poêle\",\r\n      \"Print text\": \"Impression\",\r\n      \"Search text\": \"Chercher\",\r\n      \"Annotation Edit text\": \"Modifier l'annotation\",\r\n      \"Line Thickness\": \"Épaisseur de ligne\",\r\n      \"Line Properties\": \"Propriétés de ligne\",\r\n      \"Start Arrow\": \"Flèche de départ\",\r\n      \"End Arrow\": \"Flèche de fin\",\r\n      \"Line Style\": \"Style de ligne\",\r\n      \"Fill Color\": \"La couleur de remplissage\",\r\n      \"Line Color\": \"Couleur de la ligne\",\r\n      None: \"Aucun\",\r\n      \"Open Arrow\": \"Ouvert\",\r\n      \"Closed Arrow\": \"Fermé\",\r\n      \"Round Arrow\": \"Rond\",\r\n      \"Square Arrow\": \"Carré\",\r\n      \"Diamond Arrow\": \"diamant\",\r\n      Butt: \"Bout\",\r\n      Cut: \"Couper\",\r\n      Paste: \"Coller\",\r\n      \"Delete Context\": \"Supprimer\",\r\n      Properties: \"Propriétés\",\r\n      \"Add Stamp\": \"Ajouter un tampon\",\r\n      \"Add Shapes\": \"Ajouter des formes\",\r\n      \"Stroke edit\": \"Changer la couleur du trait\",\r\n      \"Change thickness\": \"Modifier l'épaisseur de la bordure\",\r\n      \"Add line\": \"Ajouter une ligne\",\r\n      \"Add arrow\": \"Ajouter une flèche\",\r\n      \"Add rectangle\": \"Ajouter un rectangle\",\r\n      \"Add circle\": \"Ajouter un cercle\",\r\n      \"Add polygon\": \"Ajouter un polygone\",\r\n      \"Add Comments\": \"Ajouter des commentaires\",\r\n      Comments: \"Commentaires\",\r\n      \"No Comments Yet\": \"Aucun commentaire pour l'instant\",\r\n      Accepted: \"Accepté\",\r\n      Completed: \"Terminé\",\r\n      Cancelled: \"Annulé\",\r\n      Rejected: \"Rejeté\",\r\n      \"Leader Length\": \"Longueur de ligne de repère\",\r\n      \"Scale Ratio\": \"Rapport d'échelle\",\r\n      Calibrate: \"Étalonner\",\r\n      \"Calibrate Distance\": \"Calibrer la distance\",\r\n      \"Calibrate Perimeter\": \"Calibrer le périmètre\",\r\n      \"Calibrate Area\": \"Étalonner la zone\",\r\n      \"Calibrate Radius\": \"Calibrer le rayon\",\r\n      \"Calibrate Volume\": \"Calibrer le volume\",\r\n      highlight: \"Souligner\",\r\n      underline: \"Souligner\",\r\n      strikethrough: \"Barré\",\r\n      \"Seach text\": \"Chercher\",\r\n      FormDesigner: \"Ajouter et modifier des champs de formulaire\",\r\n      \"Client error\":\r\n        \"Une erreur côté client est détectée. Veuillez vérifier les en-têtes personnalisés fournis dans la propriété AjaxRequestSettings et les méthodes d'action Web dans la propriété ServerActionSettings.\",\r\n      \"FormDesigner Edit text\": \"Ajouter et modifier des champs de formulaire\",\r\n      SubmitForm: \"Soumettre le formulaire\",\r\n      Depth: \"Profondeur\",\r\n      Closed: \"Fermé\",\r\n      Round: \"Tour\",\r\n      Square: \"Carré\",\r\n      Diamond: \"diamant\",\r\n      Edit: \"Éditer\",\r\n      Comment: \"Commenter\",\r\n      \"Comment Panel\": \"Panneau de commentaires\",\r\n      \"Set Status\": \"Définir le statut\",\r\n      Post: \"Poster\",\r\n      Page: \"Page\",\r\n      \"Add a comment\": \"Ajouter un commentaire\",\r\n      \"Add a reply\": \"Ajouter une réponse\",\r\n      \"Import Annotations\":\r\n        \"Importer des annotations à partir d'un fichier JSON\",\r\n      \"Export Annotations\": \"Exporter l'annotation vers un fichier JSON\",\r\n      \"Export XFDF\": \"Exporter l'annotation vers un fichier XFDF\",\r\n      \"Import XFDF\": \"Importer des annotations à partir d'un fichier XFDF\",\r\n      Add: \"Ajouter\",\r\n      Clear: \"Dégager\",\r\n      Bold: \"Audacieux\",\r\n      Italic: \"Italique\",\r\n      Strikethroughs: \"Barré\",\r\n      Underlines: \"Souligner\",\r\n      Superscript: \"Exposant\",\r\n      Subscript: \"Indice\",\r\n      \"Align left\": \"Alignez à gauche\",\r\n      \"Align right\": \"Aligner à droite\",\r\n      Center: \"Centre\",\r\n      Justify: \"Justifier\",\r\n      \"Font color\": \"Couleur de la police\",\r\n      \"Text Align\": \"Aligner le texte\",\r\n      \"Text Properties\": \"Le style de police\",\r\n      SignatureFieldDialogHeaderText: \"Ajouter une signature\",\r\n      HandwrittenSignatureDialogHeaderText: \"Ajouter une signature\",\r\n      InitialFieldDialogHeaderText: \"Ajouter une initiale\",\r\n      HandwrittenInitialDialogHeaderText: \"Ajouter une initiale\",\r\n      \"Draw Ink\": \"Dessiner de l'encre\",\r\n      Create: \"Créer\",\r\n      \"Font family\": \"Famille de polices\",\r\n      \"Font size\": \"Taille de police\",\r\n      \"Free Text\": \"Texte libre\",\r\n      \"Import Failed\":\r\n        \"Type de fichier JSON ou nom de fichier non valide; veuillez sélectionner un fichier JSON valide\",\r\n      \"File not found\":\r\n        \"Le fichier JSON importé est introuvable à l'emplacement souhaité\",\r\n      \"Export Failed\":\r\n        \"L'action d'exportation des annotations a échoué; veuillez vous assurer que les annotations sont ajoutées correctement\",\r\n      of: \"de \",\r\n      Dynamic: \"Dynamique\",\r\n      \"Standard Business\": \"Entreprise standard\",\r\n      \"Sign Here\": \"Signez ici\",\r\n      \"Custom Stamp\": \"Tampon personnalisé\",\r\n      \"Enter Signature as Name\": \"Entrez votre nom\",\r\n      \"Draw-hand Signature\": \"DESSINER\",\r\n      \"Type Signature\": \"TAPER\",\r\n      \"Upload Signature\": \"TÉLÉCHARGER\",\r\n      \"Browse Signature Image\": \"FEUILLETER\",\r\n      \"Save Signature\": \"Enregistrer la signature\",\r\n      \"Save Initial\": \"Enregistrer l'initiale\",\r\n      Textbox: \"Zone de texte\",\r\n      Password: \"Mot de passe\",\r\n      \"Check Box\": \"Case à cocher\",\r\n      \"Radio Button\": \"Bouton radio\",\r\n      Dropdown: \"Menu déroulant\",\r\n      \"List Box\": \"Zone de liste\",\r\n      Signature: \"Signature\",\r\n      \"Delete FormField\": \"Supprimer le champ du formulaire\",\r\n      \"Textbox Properties\": \"Propriétés de la zone de texte\",\r\n      Name: \"Nom\",\r\n      Tooltip: \"Info-bulle\",\r\n      Value: \"Évaluer\",\r\n      \"Form Field Visibility\": \"Visibilité des champs de formulaire\",\r\n      \"Read Only\": \"Lecture seulement\",\r\n      Required: \"Obligatoire\",\r\n      Checked: \"Vérifié\",\r\n      \"Show Printing\": \"Afficher l'impression\",\r\n      Formatting: \"Format\",\r\n      Fill: \"Remplir\",\r\n      Border: \"Frontière\",\r\n      \"Border Color\": \"Couleur de la bordure\",\r\n      Thickness: \"Épaisseur\",\r\n      \"Max Length\": \"Longueur maximale\",\r\n      \"List Item\": \"Nom de l'article\",\r\n      \"Export Value\": \"Valeur de l'article\",\r\n      \"Dropdown Item List\": \"Liste déroulante des éléments\",\r\n      \"List Box Item List\": \"Liste des éléments de la zone de liste\",\r\n      General: \"GÉNÉRAL\",\r\n      Appearance: \"APPARENCE\",\r\n      Options: \"OPTIONS\",\r\n      \"Delete Item\": \"Effacer\",\r\n      Up: \"En haut\",\r\n      Down: \"Vers le bas\",\r\n      Multiline: \"Multiligne\",\r\n      Revised: \"modifié\",\r\n      Reviewed: \"Révisé\",\r\n      Received: \"Reçu\",\r\n      Confidential: \"Confidentiel\",\r\n      Approved: \"Approuvé\",\r\n      \"Not Approved\": \"Non approuvé\",\r\n      Witness: \"Témoin\",\r\n      \"Initial Here\": \"Vos initiales ici\",\r\n      Draft: \"Brouillon\",\r\n      Final: \"Final\",\r\n      \"For Public Release\": \"Pour diffusion publique\",\r\n      \"Not For Public Release\": \"Pas pour diffusion publique\",\r\n      \"For Comment\": \"Pour un commentaire\",\r\n      Void: \"Annuler\",\r\n      \"Preliminary Results\": \"Résultats préliminaires\",\r\n      \"Information Only\": \"Information seulement\",\r\n      in: \"dans\",\r\n      m: \"m\",\r\n      ft_in: \"ft_in\",\r\n      ft: \"pi\",\r\n      p: \"p\",\r\n      cm: \"cm\",\r\n      mm: \"millimètre\",\r\n      pt: \"pt\",\r\n      cu: \"cu\",\r\n      sq: \"m²\",\r\n      Initial: \"Initial\",\r\n    },\r\n    diagram: {\r\n      Copy: \"Copier\",\r\n      Cut: \"Couper\",\r\n      Paste: \"Coller\",\r\n      Undo: \"Défaire\",\r\n      Redo: \"Refaire\",\r\n      SelectAll: \"Tout sélectionner\",\r\n      Grouping: \"Regroupement\",\r\n      Group: \"Grouper\",\r\n      UnGroup: \"Dissocier\",\r\n      Order: \"Commande\",\r\n      BringToFront: \"Mettre au premier plan\",\r\n      MoveForward: \"Avancer\",\r\n      SendToBack: \"Envoyer à l'arrière\",\r\n      SendBackward: \"Envoyer vers l'arrière\",\r\n      group: \"Grouper\",\r\n    },\r\n    \"inplace-editor\": {\r\n      save: \"Sauvegarder\",\r\n      cancel: \"Annuler\",\r\n      loadingText: \"Chargement...\",\r\n      editIcon: \"Cliquez pour modifier\",\r\n      editAreaClick: \"Cliquez pour modifier\",\r\n      editAreaDoubleClick: \"Double-cliquez pour modifier\",\r\n    },\r\n    drawing: {},\r\n    \"drop-down-base\": {\r\n      noRecordsTemplate: \"Aucun enregistrement trouvé\",\r\n      actionFailureTemplate: \"La demande a échoué\",\r\n    },\r\n    chart: {\r\n      Zoom: \"Zoom\",\r\n      ZoomIn: \"Agrandir\",\r\n      ZoomOut: \"Dézoomer\",\r\n      Reset: \"Réinitialiser\",\r\n      Pan: \"La poêle\",\r\n      ResetZoom: \"Réinitialiser le zoom\",\r\n    },\r\n    maps: {\r\n      Zoom: \"Zoom\",\r\n      ZoomIn: \"Agrandir\",\r\n      ZoomOut: \"Dézoomer\",\r\n      Reset: \"Réinitialiser\",\r\n      Pan: \"Déplacer\",\r\n      ResetZoom: \"Réinitialiser le zoom\",\r\n      ImageNotFound: \"Image non trouvée\",\r\n    },\r\n    \"drop-down-tree\": {\r\n      noRecordsTemplate: \"Aucun enregistrement trouvé\",\r\n      actionFailureTemplate: \"Demande échoué\",\r\n      overflowCountTemplate: \"+ ${count} de plus ..\",\r\n      totalCountTemplate: \"${count} sélectionnés\",\r\n    },\r\n    documenteditor: {\r\n      Table: \"Tableau\",\r\n      Row: \"Ligne\",\r\n      Cell: \"Cellule\",\r\n      Ok: \"OK\",\r\n      Apply: \"Appliquer\",\r\n      Cancel: \"Annuler\",\r\n      Size: \"Taille\",\r\n      \"Preferred Width\": \"Largeur préférée\",\r\n      Points: \"Points\",\r\n      Percent: \"Pour cent\",\r\n      \"Measure in\": \"Mesurer en\",\r\n      Alignment: \"Alignement\",\r\n      Left: \"Gauche\",\r\n      Center: \"Centre\",\r\n      Right: \"Droite\",\r\n      Decimal: \"Décimal\",\r\n      Bar: \"Barre\",\r\n      Leader: \"gestionnaires\",\r\n      Tab: \"Factures impayées\",\r\n      BookMarkList: \"Liste de signets dans le document\",\r\n      TabMarkList: \"Liste des tabulations dans le paragraphe\",\r\n      \"Tab stop position\": \"Position de la tabulation\",\r\n      \"Default tab stops\": \"Tabulations par défaut\",\r\n      \"Tab stops to be cleared\": \"Tabulations à effacer\",\r\n      Tabs: \"Onglets\",\r\n      Set: \"Configurer\",\r\n      Clear: \"Clair\",\r\n      \"Clear All\": \"Tout effacer\",\r\n      Justify: \"Justifier\",\r\n      \"Indent from left\": \"Retrait de gauche\",\r\n      \"Borders and Shading\": \"Bordures et ombrage\",\r\n      Options: \"Les options\",\r\n      \"Specify height\": \"Précisez la hauteur\",\r\n      \"At least\": \"Au moins\",\r\n      Exactly: \"Exactement\",\r\n      \"Row height is\": \"La hauteur de ligne est\",\r\n      \"Allow row to break across pages\":\r\n        \"Autoriser la ligne à traverser les pages\",\r\n      \"Repeat as header row at the top of each page\":\r\n        \"Répéter comme ligne d'en-tête en haut de chaque page\",\r\n      \"Vertical alignment\": \"Alignement vertical\",\r\n      Top: \"Haut\",\r\n      Bottom: \"Bas\",\r\n      \"Default cell margins\": \"Marges de cellule par défaut\",\r\n      \"Default cell spacing\": \"Espacement des cellules par défaut\",\r\n      \"Allow spacing between cells\":\r\n        \"Autoriser l'espacement entre les cellules\",\r\n      \"Cell margins\": \"Marges des cellules\",\r\n      \"Same as the whole table\": \"Identique à toute la table\",\r\n      Borders: \"Les frontières\",\r\n      None: \"Aucun\",\r\n      Style: \"Style\",\r\n      Width: \"Largeur\",\r\n      Height: \"la taille\",\r\n      Letter: \"Lettre\",\r\n      Tabloid: \"Tabloïde\",\r\n      Legal: \"Légal\",\r\n      Statement: \"Déclaration\",\r\n      Executive: \"Exécutif\",\r\n      A3: \"A3\",\r\n      A4: \"A4\",\r\n      A5: \"A5\",\r\n      B4: \"B4\",\r\n      B5: \"B5\",\r\n      \"Custom Size\": \"Format personnalisé\",\r\n      \"Different odd and even\": \"Différent impair et pair\",\r\n      \"Different first page\": \"Première page différente\",\r\n      \"From edge\": \"Du bord\",\r\n      Header: \"Entête\",\r\n      Footer: \"Bas de page\",\r\n      \"First Page Header\": \"En-tête de la première page\",\r\n      \"First Page Footer\": \"Pied de page de la première page\",\r\n      \"Even Page Header\": \"En-tête de page pair\",\r\n      \"Even Page Footer\": \"Pied de page pair\",\r\n      \"Odd Page Header\": \"En-tête de page impaire\",\r\n      \"Odd Page Footer\": \"Pied de page impair\",\r\n      \"Same as Previous\": \"Identique au précédent\",\r\n      Section: \"Section\",\r\n      Margin: \"Marges\",\r\n      Paper: \"Papier\",\r\n      Layout: \"Disposition\",\r\n      Orientation: \"Orientation\",\r\n      Landscape: \"Paysage\",\r\n      Portrait: \"Portrait\",\r\n      \"Show page numbers\": \"Afficher les numéros de page\",\r\n      \"Right align page numbers\": \"Aligner à droite les numéros de page\",\r\n      Nothing: \"Rien\",\r\n      \"Tab leader\": \"Repère de tabulation\",\r\n      \"Show levels\": \"Afficher les niveaux\",\r\n      \"Use hyperlinks instead of page numbers\":\r\n        \"Utilisez des hyperliens au lieu des numéros de page\",\r\n      \"Build table of contents from\":\r\n        \"Créer une table des matières à partir de\",\r\n      Styles: \"modes\",\r\n      \"Available styles\": \"Styles disponibles\",\r\n      \"TOC level\": \"Niveau COT\",\r\n      Heading: \"Titre\",\r\n      \"Heading 1\": \"Titre 1\",\r\n      \"Heading 2\": \"Titre 2\",\r\n      \"Heading 3\": \"Titre 3\",\r\n      \"Heading 4\": \"Titre 4\",\r\n      \"Heading 5\": \"Titre 5\",\r\n      \"Heading 6\": \"Titre 6\",\r\n      \"List Paragraph\": \"Paragraphe de liste\",\r\n      Normal: \"Normale\",\r\n      \"Outline levels\": \"Niveaux de contour\",\r\n      \"Table entry fields\": \"Champs de saisie de table\",\r\n      Modify: \"Modifier\",\r\n      Color: \"Couleur\",\r\n      Setting: \"Réglage\",\r\n      Box: \"Boîte\",\r\n      All: \"Tout\",\r\n      Custom: \"Personnalisé\",\r\n      Preview: \"Aperçu\",\r\n      Shading: \"Ombres\",\r\n      Fill: \"Remplir\",\r\n      \"Apply To\": \"Postuler à\",\r\n      \"Table Properties\": \"Propriétés du tableau\",\r\n      \"Cell Options\": \"Options de cellule\",\r\n      \"Table Options\": \"Options de table\",\r\n      \"Insert Table\": \"Insérer un tableau\",\r\n      \"Number of columns\": \"Le nombre de colonnes\",\r\n      \"Number of rows\": \"Nombre de rangées\",\r\n      \"Text to display\": \"Texte à afficher\",\r\n      \"ScreenTip text\": \"Texte de l'info-bulle\",\r\n      Address: \"Adresse\",\r\n      \"Insert Hyperlink\": \"Insérer un lien hypertexte\",\r\n      \"Edit Hyperlink\": \"Modifier l'hyperlien\",\r\n      Insert: \"Insérer\",\r\n      General: \"Général\",\r\n      \"The number must be between\": \"Le nombre doit être compris entre 1 et 9\",\r\n      \"The Invalid number\": \"Ce n'est pas un numéro valide\",\r\n      Indentation: \"Échancrure\",\r\n      \"Before text\": \"Avant le texte\",\r\n      Special: \"Spécial\",\r\n      \"First line\": \"Première ligne\",\r\n      Hanging: \"Pendaison\",\r\n      \"After text\": \"Après le texte\",\r\n      By: \"Par\",\r\n      Before: \"Avant\",\r\n      \"Line Spacing\": \"Interligne\",\r\n      After: \"Après\",\r\n      At: \"À\",\r\n      Multiple: \"Plusieurs\",\r\n      Spacing: \"Espacement\",\r\n      \"Define new Multilevel list\":\r\n        \"Définir une nouvelle liste à plusieurs niveaux\",\r\n      \"List level\": \"Niveau liste\",\r\n      \"Choose level to modify\": \"Choisissez le niveau à modifier\",\r\n      Level: \"Niveau\",\r\n      \"Number format\": \"Format de nombre\",\r\n      \"Number style for this level\": \"Style de nombre pour ce niveau\",\r\n      \"Enter formatting for number\": \"Entrez la mise en forme du nombre\",\r\n      \"Start at\": \"Commencer à\",\r\n      \"Restart list after\": \"Redémarrez la liste après\",\r\n      Position: \"Position\",\r\n      \"Text indent at\": \"Retrait du texte à\",\r\n      \"Aligned at\": \"Aligné à\",\r\n      \"Follow number with\": \"Suivez le numéro avec\",\r\n      \"Tab character\": \"Caractère de tabulation\",\r\n      Space: \"Espace\",\r\n      Arabic: \"arabe\",\r\n      UpRoman: \"UpRoman\",\r\n      LowRoman: \"BasRomain\",\r\n      UpLetter: \"UpLettre\",\r\n      LowLetter: \"LowLetter\",\r\n      Number: \"Nombre\",\r\n      \"Leading zero\": \"Zéro en tête\",\r\n      Bullet: \"Balle\",\r\n      Ordinal: \"Ordinal\",\r\n      \"Ordinal Text\": \"Texte ordinal\",\r\n      \"For East\": \"Pour l'Est\",\r\n      \"No Restart\": \"Pas de redémarrage\",\r\n      Font: \"Police de caractère\",\r\n      \"Font style\": \"Le style de police\",\r\n      \"Underline style\": \"Souligner le style\",\r\n      \"Font color\": \"Couleur de la police\",\r\n      Effects: \"Effets\",\r\n      Strikethrough: \"Barré\",\r\n      Superscript: \"Exposant\",\r\n      Subscript: \"Indice\",\r\n      \"Double strikethrough\": \"Barré double\",\r\n      Regular: \"Ordinaire\",\r\n      Bold: \"Audacieux\",\r\n      Italic: \"Italique\",\r\n      Cut: \"Couper\",\r\n      Copy: \"Copier\",\r\n      Paste: \"Coller\",\r\n      Hyperlink: \"Hyperlien\",\r\n      \"Open Hyperlink\": \"Ouvrir l'hyperlien\",\r\n      \"Copy Hyperlink\": \"Copier l'hyperlien\",\r\n      \"Remove Hyperlink\": \"Supprimer l'hyperlien\",\r\n      Paragraph: \"Paragraphe\",\r\n      \"Linked Style\": \"Lié (paragraphe et caractère)\",\r\n      Character: \"Personnage\",\r\n      \"Merge Cells\": \"Fusionner des cellules\",\r\n      \"Insert Above\": \"Insérer au-dessus\",\r\n      \"Insert Below\": \"Insérer ci-dessous\",\r\n      \"Insert Left\": \"Insérer à gauche\",\r\n      \"Insert Right\": \"Insérer à droite\",\r\n      Delete: \"Supprimer\",\r\n      \"Delete Table\": \"Supprimer le tableau\",\r\n      \"Delete Row\": \"Supprimer la ligne\",\r\n      \"Delete Column\": \"Supprimer la colonne\",\r\n      \"File Name\": \"Nom de fichier\",\r\n      \"Format Type\": \"Type de format\",\r\n      Save: \"sauvegarder\",\r\n      Navigation: \"La navigation\",\r\n      Results: \"Résultats\",\r\n      Replace: \"Remplacer\",\r\n      \"Replace All\": \"Remplace tout\",\r\n      \"We replaced all\": \"Nous avons remplacé tous\",\r\n      Find: \"Trouver\",\r\n      \"No matches\": \"Aucune correspondance\",\r\n      \"All Done\": \"Terminé\",\r\n      Result: \"Résultat\",\r\n      of: \"de\",\r\n      instances: \"instances\",\r\n      with: \"avec\",\r\n      \"Click to follow link\": \"Cliquez pour suivre le lien\",\r\n      \"Continue Numbering\": \"Continuer la numérotation\",\r\n      \"Bookmark name\": \"Nom du signet\",\r\n      Close: \"Fermer\",\r\n      \"Restart At\": \"Redémarrer à\",\r\n      Properties: \"Propriétés\",\r\n      Name: \"Nom\",\r\n      \"Style type\": \"Type de style\",\r\n      \"Style based on\": \"Style basé sur\",\r\n      \"Style for following paragraph\": \"Style pour le paragraphe suivant\",\r\n      Formatting: \"Mise en page\",\r\n      \"Numbering and Bullets\": \"Numérotation et puces\",\r\n      Numbering: \"Numérotage\",\r\n      \"Update Field\": \"Champ de mise à jour\",\r\n      \"Edit Field\": \"Modifier le champ\",\r\n      Bookmark: \"Signet\",\r\n      \"Page Setup\": \"Mise en page\",\r\n      \"No bookmarks found\": \"Aucun signet trouvé\",\r\n      \"Number format tooltip information\":\r\n        \"Format numérique à un niveau: </br> [PREFIX]% [LEVELNUMBER] [SUFFIX] </br> Par exemple, 'Chapitre% 1.' affichera la numérotation comme </br> Chapitre 1. Article </br> Chapitre 2. Article </br>… </br> Chapitre N. Article </br> </br> Format numérique à plusieurs niveaux: </br> [ PREFIX]% [LEVELNUMBER] [SUFFIX] + [PREFIX]% [LEVELNUMBER] [SUFFIX] </br> Par exemple, '% 1.% 2.' affichera la numérotation comme </br> 1.1. Article </br> 1.2. Article </br>… </br> 1.N. Article\",\r\n      Format: \"Format\",\r\n      \"Create New Style\": \"Créer un nouveau style\",\r\n      \"Modify Style\": \"Modifier le style\",\r\n      New: \"Nouveau\",\r\n      Bullets: \"Balles\",\r\n      \"Use bookmarks\": \"Utiliser des signets\",\r\n      \"Table of Contents\": \"Table des matières\",\r\n      AutoFit: \"Ajustement automatique\",\r\n      \"AutoFit to Contents\": \"Ajustement automatique au contenu\",\r\n      \"AutoFit to Window\": \"Ajustement automatique à la fenêtre\",\r\n      \"Fixed Column Width\": \"Largeur de colonne fixe\",\r\n      Reset: \"Réinitialiser\",\r\n      \"Match case\": \"Cas de correspondance\",\r\n      \"Whole words\": \"Mots entiers\",\r\n      Add: \"Ajouter\",\r\n      \"Go To\": \"Aller à\",\r\n      \"Search for\": \"Rechercher\",\r\n      \"Replace with\": \"Remplacer par\",\r\n      \"TOC 1\": \"Table des matières 1\",\r\n      \"TOC 2\": \"Table des matières 2\",\r\n      \"TOC 3\": \"Table des matières 3\",\r\n      \"TOC 4\": \"Table des matières 4\",\r\n      \"TOC 5\": \"Table des matières 5\",\r\n      \"TOC 6\": \"Table des matières 6\",\r\n      \"TOC 7\": \"Table des matières 7\",\r\n      \"TOC 8\": \"Table des matières 8\",\r\n      \"TOC 9\": \"Table des matières 9\",\r\n      \"Right-to-left\": \"De droite à gauche\",\r\n      \"Left-to-right\": \"De gauche à droite\",\r\n      Direction: \"Direction\",\r\n      \"Table direction\": \"Direction de la table\",\r\n      \"Indent from right\": \"Retrait à droite\",\r\n      \"Contextual Spacing\":\r\n        \"N'ajoutez pas d'espace entre les paragraphes des mêmes styles\",\r\n      \"Password Mismatch\": \"Le mot de passe ne correspond pas\",\r\n      \"Restrict Editing\": \"Restreindre l'édition\",\r\n      \"Formatting restrictions\": \"Restrictions de formatage\",\r\n      \"Allow formatting\": \"Autoriser la mise en forme\",\r\n      \"Editing restrictions\": \"Modification des restrictions\",\r\n      \"Read only\": \"Lecture seulement\",\r\n      \"Exceptions Optional\": \"Exceptions (facultatif)\",\r\n      \"Select Part Of Document And User\":\r\n        \"Sélectionnez des parties du document et choisissez les utilisateurs autorisés à les modifier librement.\",\r\n      Everyone: \"Toutes les personnes\",\r\n      \"More users\": \"Plus d'utilisateurs\",\r\n      \"Add Users\": \"Ajouter des utilisateurs\",\r\n      \"Enforcing Protection\": \"Oui, commencez à appliquer la protection\",\r\n      \"Start Enforcing Protection\": \"Commencer à appliquer la protection\",\r\n      \"Enter User\": \"Entrez l'utilisateur\",\r\n      Users: \"Utilisateurs\",\r\n      \"Enter new password\": \"Entrez un nouveau mot de passe\",\r\n      \"Reenter new password to confirm\":\r\n        \"Entrez à nouveau le nouveau mot de passe pour confirmer\",\r\n      \"Your permissions\": \"Vos autorisations\",\r\n      \"Protected Document\":\r\n        \"Ce document est protégé contre toute modification involontaire. Vous pouvez le modifier dans cette région.\",\r\n      FormFieldsOnly:\r\n        \"Vous ne pouvez remplir des formulaires que dans cette région.\",\r\n      CommentsOnly:\r\n        \"Vous ne pouvez insérer des commentaires que dans cette région.\",\r\n      ReadOnlyProtection: \"Vous pouvez éditer dans cette région.\",\r\n      \"Stop Protection\": \"Arrêter la protection\",\r\n      Password: \"Mot de passe\",\r\n      \"Spelling Editor\": \"Éditeur d'orthographe\",\r\n      Spelling: \"Orthographe\",\r\n      \"Spell Check\": \"Vérification orthographique\",\r\n      \"Underline errors\": \"Souligner les erreurs\",\r\n      Ignore: \"Ignorer\",\r\n      \"Ignore All\": \"Ignorer tout\",\r\n      \"Add to Dictionary\": \"Ajouter au dictionnaire\",\r\n      Change: \"Changement\",\r\n      \"Change All\": \"Change tout\",\r\n      Suggestions: \"Suggestions\",\r\n      \"The password is incorrect\": \"Le mot de passe est incorrect\",\r\n      \"Error in establishing connection with web server\":\r\n        \"Erreur lors de l'établissement de la connexion avec le serveur Web\",\r\n      \"Highlight the regions I can edit\":\r\n        \"Mettez en surbrillance les régions que je peux modifier\",\r\n      \"Show All Regions I Can Edit\":\r\n        \"Afficher toutes les régions que je peux modifier\",\r\n      \"Find Next Region I Can Edit\":\r\n        \"Rechercher la prochaine région que je peux modifier\",\r\n      \"Keep source formatting\": \"Conserver le formatage source\",\r\n      \"Match destination formatting\":\r\n        \"Faire correspondre la mise en forme de la destination\",\r\n      \"Text only\": \"Texte seulement\",\r\n      Comments: \"commentaires\",\r\n      \"Type your comment\": \"Tapez votre commentaire\",\r\n      Post: \"Publier\",\r\n      Reply: \"Répondre\",\r\n      \"New Comment\": \"Nouveau commentaire\",\r\n      Edit: \"Éditer\",\r\n      Resolve: \"Résoudre\",\r\n      Reopen: \"Rouvrir\",\r\n      \"No comments in this document\": \"Aucun commentaire dans ce document\",\r\n      more: \"plus\",\r\n      \"Type your comment here\": \"Tapez votre commentaire ici\",\r\n      \"Next Comment\": \"Commentaire suivant\",\r\n      \"Previous Comment\": \"Commentaire précédent\",\r\n      \"Un-posted comments\": \"Commentaires non publiés\",\r\n      \"Discard Comment\":\r\n        \"Ajout de commentaires non publiés. Si vous continuez, ce commentaire sera ignoré.\",\r\n      Discard: \"Jeter\",\r\n      \"No Headings\": \"Jeter\",\r\n      \"Add Headings\":\r\n        \"Ce document n'a pas de titres. Veuillez ajouter des titres et réessayer.\",\r\n      \"More Options\": \"Plus d'options\",\r\n      \"Click to see this comment\": \"Cliquez pour voir ce commentaire\",\r\n      \"Drop Down Form Field\": \"Champ de formulaire déroulant\",\r\n      \"Drop-down items\": \"Articles déroulants\",\r\n      \"Items in drop-down list\": \"Éléments dans la liste déroulante\",\r\n      ADD: \"AJOUTER\",\r\n      REMOVE: \"RETIRER\",\r\n      \"Field settings\": \"Réglages sur place\",\r\n      Tooltip: \"Info-bulle\",\r\n      \"Drop-down enabled\": \"Liste déroulante activée\",\r\n      \"Check Box Form Field\": \"Champ de formulaire de case à cocher\",\r\n      \"Check box size\": \"Cochez la taille\",\r\n      Auto: \"Auto\",\r\n      \"Default value\": \"Valeur par défaut\",\r\n      \"Not checked\": \"Non vérifié\",\r\n      Checked: \"Vérifié\",\r\n      \"Check box enabled\": \"Case à cocher activée\",\r\n      \"Text Form Field\": \"Champ de formulaire texte\",\r\n      Type: \"Taper\",\r\n      \"Default text\": \"Texte par défaut\",\r\n      \"Maximum length\": \"Longueur maximale\",\r\n      \"Text format\": \"Format texte\",\r\n      \"Fill-in enabled\": \"Remplissage activé\",\r\n      \"Default number\": \"Numéro par défaut\",\r\n      \"Default date\": \"Date par défaut\",\r\n      \"Date format\": \"Format de date\",\r\n      \"Merge Track\":\r\n        \"Cette action ne sera pas marquée comme modification. Voulez-vous continuer ?\",\r\n      UnTrack: \"Ne peut pas être suivi\",\r\n      Accept: \"Accepter\",\r\n      Reject: \"Rejeter\",\r\n      \"Previous Changes\": \"Modifications précédentes\",\r\n      \"Next Changes\": \"Changements suivants\",\r\n      Inserted: \"Inséré\",\r\n      Deleted: \"Supprimé\",\r\n      \"Move From\": \"depuis\",\r\n      \"Move To\": \"déplacé\",\r\n      Changes: \"Changements\",\r\n      \"Accept all\": \"Accepter tout\",\r\n      \"Reject all\": \"Tout rejeter\",\r\n      \"No changes\": \"Aucun changement\",\r\n      \"Accept Changes\": \"Accepter les modifications\",\r\n      \"Reject Changes\": \"Refuser les modifications\",\r\n      User: \"Utilisateur\",\r\n      View: \"Vue\",\r\n      Insertion: \"Insertion\",\r\n      Deletion: \"Effacement\",\r\n      \"All caps\": \"Toutes en majuscules\",\r\n      \"This region is locked by\": \"Cette région est verrouillée par\",\r\n      Lock: \"Fermer à clé\",\r\n      Unlock: \"Ouvrir\",\r\n      \"Already locked\":\r\n        \"La région sélectionnée ou une partie de la région est déjà verrouillée par un autre utilisateur\",\r\n      \"1, 2, 3, ...\": \"1, 2, 3, ...\",\r\n      \"a, b, c, ...\": \"a, b, c, ...\",\r\n      \"A, B, C, ...\": \"A, B, C, ...\",\r\n      \"I, II, III, ...\": \"I, II, III, ...\",\r\n      \"i, ii, iii, ...\": \"je, ii, iii, ...\",\r\n      \"Text Form\": \"Formulaire de texte\",\r\n      \"Check Box\": \"Case à cocher\",\r\n      DropDown: \"Menu déroulant\",\r\n      \"Form Fields\": \"Champs de formulaire\",\r\n      \"Fillin enabled\": \"Remplissage activé\",\r\n      \"Multiple Comment\": \"Veuillez poster votre commentaire\",\r\n      InsertFootnote: \"InsérerNote de bas de page\",\r\n      InsertEndnote: \"InsérerEndnote\",\r\n      Footnote: \"note de bas de page\",\r\n      Endnote: \"Note de fin de document\",\r\n      \"Notes Options\": \"Options de remarque\",\r\n      \"Click to View/Edit Footnote\":\r\n        \"Cliquez pour afficher / modifier la note de bas de page\",\r\n      \"Click to View/Edit Endnote\":\r\n        \"Cliquez pour afficher / modifier la note de fin\",\r\n      InsertAsRows: \"Insérer en tant que nouvelles lignes\",\r\n      InsertAsColumns: \"Insérer en tant que nouvelles colonnes\",\r\n      OverwriteCells: \"Écraser les cellules\",\r\n      NestTable: \"Table gigogne\",\r\n      \"No suggestions\": \"Aucune suggestion\",\r\n      \"More Suggestion\": \"Plus de suggestions\",\r\n      \"Ignore Once\": \"Ignorer une fois\",\r\n      \"Keep With Next\": \"Continuer avec le suivant\",\r\n      \"Keep Lines Together\": \"Gardez les lignes ensemble\",\r\n      WidowControl: \"Contrôle des veuves/orphelins\",\r\n      \"Indents and Spacing\": \"Retraits et espacement\",\r\n      \"Line and Page Breaks\": \"Sauts de ligne et de page\",\r\n      Pagination: \"Pagination\",\r\n      Single: \"Seul\",\r\n      DashSmallGap: \"DashSmallGap\",\r\n      DashDot: \"TiretPoint\",\r\n      Double: \"Double\",\r\n      ThinThickSmallGap: \"MinceÉpaisPetitEspace\",\r\n      ThickThinSmallGap: \"ÉpaisMincePetitEspace\",\r\n      ThickThinMediumGap: \"ÉpaisMinceMoyenÉcart\",\r\n      ThickThinLargeGap: \"ÉpaisMinceGrandEspace\",\r\n      SingleWavy: \"SimpleWavy\",\r\n      DoubleWavy: \"DoubleOndulé\",\r\n      Inset: \"Encart\",\r\n      DashLargeGap: \"DashLargeGap\",\r\n      Dot: \"Point\",\r\n      DashDotDot: \"TiretPointPoint\",\r\n      Triple: \"Tripler\",\r\n      ThinThickThinSmallGap: \"MinceÉpaisMincePetitEspace\",\r\n      ThinThickThinMediumGap: \"MinceÉpaisMinceMoyenÉcart\",\r\n      ThinThickThinLargeGap: \"MinceÉpaisMinceLargeGap\",\r\n      DashDotStroked: \"TiretPointTracé\",\r\n      Engrave3D: \"Graver3D\",\r\n      Thick: \"Épais\",\r\n      Outset: \"Début\",\r\n      Emboss3D: \"Emboss3D\",\r\n      ThinThickLargeGap: \"MinceÉpaisGrandEspace\",\r\n      ThinThickMediumGap: \"FinÉpaisMoyenÉcart\",\r\n      \"Number of rows must be between\":\r\n        \"Le nombre de lignes doit être compris entre\",\r\n      \"Number of columns must be between\":\r\n        \"Le nombre de colonnes doit être compris entre\",\r\n      and: \"et\",\r\n      Unlimited: \"Illimité\",\r\n      \"Regular text\": \"Texte normal\",\r\n      Date: \"Date\",\r\n      Uppercase: \"Majuscule\",\r\n      Lowercase: \"Minuscule\",\r\n      FirstCapital: \"FirstCapital\",\r\n      TitleCase: \"Casse du titre\",\r\n      \"Filling in forms\": \"Remplir des formulaires\",\r\n      px: \"pixels\",\r\n      \"Tracked changes\": \"Modifications suivies\",\r\n      TrackChangesOnly:\r\n        \"Vous pouvez effectuer des modifications dans cette région, mais toutes les modifications seront suivies.\",\r\n      RemovedIgnore: \"Voulez-vous supprimer les exceptions ignorées ?\",\r\n      RemovedIgnoreExceptions:\r\n        \"Si vous apportez cette modification à la protection du document, Word ignorera toutes les exceptions dans ce document.\",\r\n      Information: \"Informations\",\r\n      Yes: \"Oui\",\r\n      No: \"Ligne\",\r\n      \"Page Break\": \"Saut de page\",\r\n      \"Column Break\": \"Saut de colonne\",\r\n      \"Section Break Next Page\": \"Saut de section (page suivante)\",\r\n      \"Section Break Continuous\": \"Saut de section (continu)\",\r\n      \"Unsupported format\":\r\n        \"Le format de fichier que vous avez sélectionné n'est pas pris en charge. Veuillez choisir un format valide.\",\r\n      One: \"Une\",\r\n      Two: \"Deux\",\r\n      Three: \"Trois\",\r\n      Presets: \"Préconfigurations\",\r\n      Columns: \"Colonnes\",\r\n      \"Split your text into two or more columns\":\r\n        \"Divisez votre texte en deux colonnes ou plus\",\r\n      \"Line between column\": \"Ligne entre colonne\",\r\n      \"Width and Spacing\": \"Largeur et espacement\",\r\n      \"Equal column width\": \"Largeur de colonne égale\",\r\n      Column: \"Colonne\",\r\n      \"Paste Content Dialog\":\r\n        \"En raison de la politique de sécurité du navigateur, le collage à partir du presse-papiers du système est limité. Sinon, utilisez le raccourci clavier\",\r\n      \"Paste Content CheckBox\": \"Ne te présente plus\",\r\n      \"The top/bottom margins are too large for the page height in some sections.\":\r\n        \"Les marges supérieure/inférieure sont trop grandes pour la hauteur de la page dans certaines sections.\",\r\n      \"Column width cannot be less than 36 pt.\":\r\n        \"La largeur de colonne ne peut pas être inférieure à 36 pt.\",\r\n      \"Left and right margins.\":\r\n        \"Les paramètres que vous avez choisis pour les marges gauche et droite, l'espacement des colonnes ou les retraits des paragraphes sont trop grands pour la largeur de la page dans les mêmes sections.\",\r\n      \"The address of this site is 'not valid. Check the address and try again.\":\r\n        \"L'adresse de ce site n'est pas valide. Vérifiez l'adresse et réessayez.\",\r\n      \"Alt Text\": \"Texte alternatif\",\r\n      Title: \"Titre\",\r\n      Description: \"Description\",\r\n      \"Left Indent\": \"Boule de communication\",\r\n      \"Right Indent\": \"Le bon cours\",\r\n      \"Hanging Indent\": \"Le rouleau pend\",\r\n      \"First Line Indent\": \"Le premier est l’indentation de ligne.\",\r\n      \"Left Margin\": \"coin gauche\",\r\n      \"Right Margin\": \"angle droit\",\r\n      \"Top Margin\": \"tête\",\r\n      \"Bottom Margin\": \"pied\",\r\n      \"Left Tab\": \"Onglet gauche\",\r\n      \"Right Tab\": \"Onglet droit\",\r\n      \"Center Tab\": \"Indicateur central\",\r\n      \"Decimal Tab\": \"Couper des animaux\",\r\n      \"Bar Tab\": \"Kumilevy\",\r\n      \"Move Table Column\": \"Déplacer une colonne du tableau\",\r\n      external: \"Supprimer le contrôle du contenu\",\r\n      \"Content Control Properties\": \"Propriétés de contrôle du contenu\",\r\n      \"Remove content control when contents are edited\":\r\n        \"Supprimer le contrôle du contenu lorsque le contenu est modifié\",\r\n      \"Content control cannot be deleted\":\r\n        \"Le contrôle du contenu ne peut pas être supprimé\",\r\n      \"Contents cannot be edited\": \"Le contenu ne peut pas être modifié\",\r\n      \"Plain Text properties\": \"Propriétés de texte brut\",\r\n      \"Allow carriage returns\": \"Autoriser les retours de transport\",\r\n      \"Drop_Down List properties\": \"Propriétés de la liste Drop_Down\",\r\n      \"Display Text\": \"Afficher le texte\",\r\n      Locking: \"Verrouillage\",\r\n      Tag: \"Étiqueter\",\r\n      Value: \"Valeur\",\r\n      PictureContentControl: \"PictureContentControl\",\r\n      \"Upload from computer\": \"Télécharger d'un ordinateur\",\r\n      Picture: \"Image\",\r\n      \"Choose an item\": \"Choisir un élément\",\r\n      \"Paste CheckBox Content Dialog\": \"Ne plus afficher\",\r\n      \"The address of this site is not valid. Check the address and try again.\":\r\n        \"L'adresse de ce site n'est pas valide. \",\r\n      \"Aucun en-tête\": \"Aucun en-tête trouvé !\",\r\n      \"Left and right margins\":\r\n        \"Les paramètres que vous avez choisis pour les marges gauche et droite, l'espacement des colonnes ou les retraits des paragraphes sont trop grands pour la largeur de la page dans les mêmes sections.\",\r\n      \"Number of rows must be between 1 and 32767.\":\r\n        \"Le nombre de lignes doit être compris entre 1 et 32 767.\",\r\n      \"Number of columns must be between 1 and 63.\":\r\n        \"Le nombre de colonnes doit être compris entre 1 et 63.\",\r\n      \"You may format text only with certain styles\":\r\n        \"Vous ne pouvez formater le texte qu'avec certains styles.\",\r\n      ok: \"Valider\",\r\n    },\r\n    documenteditorcontainer: {\r\n      New: \"Nouveau\",\r\n      Open: \"Ouvrir\",\r\n      Undo: \"annuler\",\r\n      Redo: \"Refaire\",\r\n      Image: \"Image\",\r\n      Table: \"Tableau\",\r\n      Link: \"Lien\",\r\n      Bookmark: \"Signet\",\r\n      \"Table of Contents\": \"Table des matières\",\r\n      \"HEADING - - - - 1\": \"RUBRIQUE - - - - 1\",\r\n      \"HEADING - - - - 2\": \"RUBRIQUE - - - - 2\",\r\n      \"HEADING - - - - 3\": \"RUBRIQUE - - - - 3\",\r\n      Header: \"Entête\",\r\n      Footer: \"Bas de page\",\r\n      \"Page Setup\": \"Mise en page\",\r\n      \"Page Number\": \"Numéro de page\",\r\n      Break: \"Pause\",\r\n      Find: \"Trouver\",\r\n      \"Local Clipboard\": \"Presse-papiers local\",\r\n      \"Restrict Editing\": \"Restreindre l'édition\",\r\n      \"Content Control\": \"Contrôle du contenu\",\r\n      \"Rich Text Content Control\": \"Contrôle de contenu textuel riche\",\r\n      \"Plain Text Content Control\": \"Contrôle de contenu en texte brut\",\r\n      \"Picture Content Control\": \"Contrôle du contenu de l'image\",\r\n      \"Combo Box Content Control\": \"Contrôle du contenu de la boîte combo\",\r\n      \"Drop-Down List Content Control\": \"Liste déroulante Contrôle du contenu\",\r\n      \"Date Picker Content Control\":\r\n        \"Contrôle du contenu de la sélecteur de dattes\",\r\n      \"Check Box Content Control\": \"Cocher le contrôle du contenu de la case\",\r\n      \"Upload from computer\": \"Télécharger d'un ordinateur\",\r\n      \"By URL\": \"Par URL\",\r\n      \"Page Break\": \"Saut de page\",\r\n      \"Section Break\": \"Saut de section\",\r\n      \"Header And Footer\": \"En-tête et pied de page\",\r\n      Options: \"Les options\",\r\n      Levels: \"Niveaux\",\r\n      \"Different First Page\": \"Première page différente\",\r\n      \"Different header and footer for odd and even pages\":\r\n        \"En-tête et pied de page différents pour les pages paires et impaires.\",\r\n      \"Different Odd And Even Pages\": \"Pages paires et impaires différentes\",\r\n      \"Different header and footer for first page\":\r\n        \"En-tête et pied de page différents pour la première page.\",\r\n      Position: \"Position\",\r\n      \"Header from Top\": \"En-tête du haut\",\r\n      \"Footer from Bottom\": \"Pied de page du bas\",\r\n      \"Distance from top of the page to top of the header\":\r\n        \"Distance du haut de la page au haut de l'en-tête.\",\r\n      \"Distance from bottom of the page to bottom of the footer\":\r\n        \"Distance du bas de la page au bas du pied de page.\",\r\n      \"Aspect ratio\": \"Ratio d'aspect\",\r\n      W: \"O\",\r\n      H: \"H\",\r\n      Width: \"Largeur\",\r\n      Height: \"Hauteur\",\r\n      Text: \"Texte\",\r\n      Paragraph: \"Paragraphe\",\r\n      Fill: \"Remplir\",\r\n      \"Fill color\": \"La couleur de remplissage\",\r\n      \"Border Style\": \"Style de bordure\",\r\n      \"Outside borders\": \"Hors frontières\",\r\n      \"All borders\": \"Toutes les frontières\",\r\n      \"Inside borders\": \"Frontières intérieures\",\r\n      \"Left border\": \"Bordure gauche\",\r\n      \"Inside vertical border\": \"Bordure verticale intérieure\",\r\n      \"Right border\": \"Bordure droite\",\r\n      \"Top border\": \"Bordure supérieure\",\r\n      \"Inside horizontal border\": \"Bordure horizontale intérieure\",\r\n      \"Bottom border\": \"Bordure inférieure\",\r\n      \"Border color\": \"Couleur de la bordure\",\r\n      \"Border width\": \"Largeur de la bordure\",\r\n      Cell: \"Cellule\",\r\n      \"Merge cells\": \"Fusionner des cellules\",\r\n      \"Insert Or Delete\": \"Insérer / supprimer\",\r\n      \"Insert columns to the left\": \"Insérer des colonnes à gauche\",\r\n      \"Insert columns to the right\": \"Insérer des colonnes à droite\",\r\n      \"Insert rows above\": \"Insérer des lignes au-dessus\",\r\n      \"Insert rows below\": \"Insérer des lignes ci-dessous\",\r\n      \"Delete rows\": \"Supprimer des lignes\",\r\n      \"Delete columns\": \"Supprimer des colonnes\",\r\n      \"Cell Margin\": \"Marge cellulaire\",\r\n      Top: \"Haut\",\r\n      Bottom: \"Bas\",\r\n      Left: \"Gauche\",\r\n      Right: \"Droite\",\r\n      \"Align Text\": \"Aligner le texte\",\r\n      \"Align top\": \"Aligner le haut\",\r\n      \"Align bottom\": \"Aligner en bas\",\r\n      \"Align center\": \"Aligner le centre\",\r\n      \"Number of heading or outline levels to be shown in table of contents\":\r\n        \"Nombre de niveaux de titre ou de plan à afficher dans la table des matières.\",\r\n      \"Show page numbers\": \"Afficher les numéros de page\",\r\n      \"Show page numbers in table of contents\":\r\n        \"Afficher les numéros de page dans la table des matières.\",\r\n      \"Right align page numbers\": \"Aligner à droite les numéros de page\",\r\n      \"Right align page numbers in table of contents\":\r\n        \"Alignez à droite les numéros de page dans la table des matières.\",\r\n      \"Use hyperlinks\": \"Utilisez des hyperliens\",\r\n      \"Use hyperlinks instead of page numbers\":\r\n        \"Utilisez des hyperliens au lieu des numéros de page.\",\r\n      Font: \"Police de caractère\",\r\n      \"Font Size\": \"Taille de police\",\r\n      \"Font color\": \"Couleur de la police\",\r\n      \"Text highlight color\": \"Couleur de surbrillance du texte\",\r\n      \"Clear all formatting\": \"Effacer toute mise en forme\",\r\n      \"Bold Tooltip\": \"Gras (Ctrl + B)\",\r\n      \"Italic Tooltip\": \"Italique (Ctrl + I)\",\r\n      \"Underline Tooltip\": \"Souligné (Ctrl + U)\",\r\n      Strikethrough: \"Barré\",\r\n      \"Superscript Tooltip\": \"Exposant (Ctrl + Shift ++)\",\r\n      \"Subscript Tooltip\": \"Indice (Ctrl + =)\",\r\n      \"Align left Tooltip\": \"Aligner à gauche (Ctrl + L)\",\r\n      \"Center Tooltip\": \"Centre (Ctrl + E)\",\r\n      \"Align right Tooltip\": \"Aligner à droite (Ctrl + R)\",\r\n      \"Justify Tooltip\": \"Justifier (Ctrl + J)\",\r\n      \"Decrease indent\": \"Diminuer le retrait\",\r\n      \"Increase indent\": \"Augmenter le retrait\",\r\n      \"Line spacing\": \"Interligne\",\r\n      Bullets: \"Balles\",\r\n      Numbering: \"Numérotage\",\r\n      Styles: \"modes\",\r\n      \"Manage Styles\": \"Gérer les styles\",\r\n      Page: \"Page\",\r\n      of: \"de\",\r\n      \"Fit one page\": \"Ajuster une page\",\r\n      \"Spell Check\": \"Vérification orthographique\",\r\n      Spelling: \"Espoir, espoir\",\r\n      \"Underline errors\": \"Souligner les erreurs\",\r\n      \"Fit page width\": \"Ajuster la largeur de la page\",\r\n      Update: \"Mise à jour\",\r\n      Cancel: \"Annuler\",\r\n      Insert: \"Insérer\",\r\n      \"No Border\": \"Pas de frontière\",\r\n      \"Create a new document\": \"Créez un nouveau document.\",\r\n      \"Open a document\": \"Ouvrez un document.\",\r\n      \"Undo Tooltip\": \"Annule la dernière opération (Ctrl + Z).\",\r\n      \"Redo Tooltip\": \"Refait la dernière opération (Ctrl + Y).\",\r\n      \"Insert inline picture from a file\":\r\n        \"Insérez une image en ligne à partir d'un fichier.\",\r\n      \"Insert a table into the document\": \"Insérer un tableau dans le document\",\r\n      \"Create Hyperlink\":\r\n        \"Créez un lien dans votre document pour un accès rapide aux pages Web et aux fichiers (Ctrl + K).\",\r\n      \"Insert a bookmark in a specific place in this document\":\r\n        \"Insérez un signet à un endroit spécifique de ce document.\",\r\n      \"Provide an overview of your document by adding a table of contents\":\r\n        \"Donnez un aperçu de votre document en ajoutant une table des matières.\",\r\n      \"Add or edit the header\": \"Ajoutez ou modifiez l'en-tête.\",\r\n      \"Add or edit the footer\": \"Ajoutez ou modifiez le pied de page.\",\r\n      \"Open the page setup dialog\":\r\n        \"Ouvrez la boîte de dialogue de mise en page.\",\r\n      \"Add page numbers\": \"Ajoutez des numéros de page.\",\r\n      \"Find Text\": \"Recherchez du texte dans le document (Ctrl + F).\",\r\n      \"Toggle between the internal clipboard and system clipboard\":\r\n        \"Basculez entre le presse-papiers interne et le presse-papiers système. </br> L'accès au presse-papiers système via un script est refusé en raison de la politique de sécurité des navigateurs. Au lieu de cela, </br> 1. Vous pouvez activer le presse-papiers interne pour couper, copier et coller dans le composant. </br> 2. Vous pouvez utiliser les raccourcis clavier (Ctrl + X, Ctrl + C et Ctrl + V) pour couper , copiez et collez avec le presse-papiers du système.\",\r\n      \"Current Page Number\":\r\n        \"Numéro de page actuel dans le document. Cliquez ou appuyez sur pour parcourir une page spécifique.\",\r\n      \"Read only\": \"Lecture seulement\",\r\n      Protections: \"Protections\",\r\n      \"Error in establishing connection with web server\":\r\n        \"Erreur lors de l'établissement de la connexion avec le serveur Web\",\r\n      Single: \"Célibataire\",\r\n      Double: \"Double\",\r\n      \"New comment\": \"Nouveau commentaire\",\r\n      Comments: \"commentaires\",\r\n      \"Print layout\": \"Disposition d'impression\",\r\n      \"Web layout\": \"mise en page Web\",\r\n      \"Text Form\": \"Formulaire texte\",\r\n      \"Check Box\": \"Case à cocher\",\r\n      DropDown: \"Menu déroulant\",\r\n      \"Update Fields\": \"Mettre à jour les champs\",\r\n      \"Update cross reference fields\":\r\n        \"Mettre à jour les champs de référence croisée\",\r\n      \"Hide properties pane\": \"Masquer le volet des propriétés\",\r\n      \"Show properties pane\": \"Afficher le volet des propriétés\",\r\n      \"Form Fields\": \"Champs de formulaire\",\r\n      \"Track Changes\":\r\n        \"Gardez une trace des modifications apportées au document\",\r\n      TrackChanges: \"Suivi des modifications\",\r\n      AllCaps: \"Toutes en majuscules\",\r\n      \"Change case Tooltip\": \"Changer de cas\",\r\n      \"Insert Footnote\": \"Insérer une note de bas de page\",\r\n      \"Insert Endnote\": \"Insérer une note de fin\",\r\n      \"Footnote Tooltip\": \"Insérer une note de bas de page (Alt + Ctrl + F).\",\r\n      \"Endnote Tooltip\": \"Insérer une note de fin (Alt + Ctrl + D).\",\r\n      UPPERCASE: \"MAJUSCULE\",\r\n      \"No color\": \"Sans couleur\",\r\n      \"Top margin\": \"Marge supérieure\",\r\n      \"Bottom margin\": \"Marge inférieure\",\r\n      \"Left margin\": \"Marge de gauche\",\r\n      \"Right margin\": \"Marge droite\",\r\n      Normal: \"Normale\",\r\n      Heading: \"Titre\",\r\n      \"Heading 1\": \"Titre 1\",\r\n      \"Heading 2\": \"Titre 2\",\r\n      \"Heading 3\": \"Titre 3\",\r\n      \"Heading 4\": \"Titre 4\",\r\n      \"Heading 5\": \"Titre 5\",\r\n      \"Heading 6\": \"Titre 6\",\r\n      ZoomLevelTooltip:\r\n        \"Le niveau de zoom. Cliquez ou appuyez sur pour ouvrir les options de zoom.\",\r\n      None: \"Aucun\",\r\n      Borders: \"Les frontières\",\r\n      \"ShowHiddenMarks Tooltip\":\r\n        \"Afficher les caractères cachés comme les espaces, les tabulations, les marques de paragraphe et les sauts.(Ctrl + *)\",\r\n      Columns: \"Colonnes\",\r\n      \"Column Break\": \"Saut de colonne\",\r\n      \"Link to Previous\": \"lien précédent\",\r\n      \"Link to PreviousTooltip\":\r\n        \"Liez cette section à l'en-tête ou au pied de page de la section précédente\",\r\n      \"Alternate Text\": \"Texte alternatif\",\r\n      \"The address of this site is not valid. Check the address and try again.\":\r\n        \"L'adresse de ce site n'est pas valide. \",\r\n      OK: \"D'ACCORD\",\r\n      Information: \"Information\",\r\n      \"Page Breaks\": \"à la fin des pages\",\r\n      \"Section Breaks\": \"La division s'effondre\",\r\n      Column: \"partager\",\r\n      \"Next Page\": \"Page suivante\",\r\n      Continuous: \"Continu\",\r\n    },\r\n    carousel: {\r\n      nextSlide: \"Diapositive suivante\",\r\n      of: \"de\",\r\n      pauseSlideTransition: \"Interrompre la transition de diapositive\",\r\n      playSlideTransition: \"Lire la transition de diapositive\",\r\n      previousSlide: \"Diapositive précédente\",\r\n      slide: \"Glisser\",\r\n      slideShow: \"Diaporama\",\r\n    },\r\n    message: {\r\n      close: \"Fermer\",\r\n    },\r\n    \"image-editor\": {\r\n      0: \"0%\",\r\n      1: \"1\",\r\n      2: \"2\",\r\n      3: \"3\",\r\n      4: \"4\",\r\n      5: \"5\",\r\n      20: \"20%\",\r\n      40: \"40%\",\r\n      60: \"60%\",\r\n      80: \"80%\",\r\n      100: \"100%\",\r\n      Crop: \"Recadrer\",\r\n      CropAndTransform: \"Recadrer et transformer\",\r\n      ZoomIn: \"Agrandir\",\r\n      ZoomOut: \"Dézoomer\",\r\n      Undo: \"annuler\",\r\n      Redo: \"Refaire\",\r\n      Transform: \"Transformer\",\r\n      Annotation: \"Annotation\",\r\n      Finetune: \"Affiner\",\r\n      Brightness: \"Luminosité\",\r\n      Contrast: \"Contraste\",\r\n      Hue: \"Teinte\",\r\n      Saturation: \"Saturation\",\r\n      Opacity: \"Opacité\",\r\n      Blur: \"Se brouiller\",\r\n      Sharpen: \"Aiguiser\",\r\n      Exposure: \"Exposition\",\r\n      Filter: \"Filtre\",\r\n      Default: \"Défaut\",\r\n      Chrome: \"Chrome\",\r\n      Cold: \"Froid\",\r\n      Warm: \"Chaud\",\r\n      Grayscale: \"Niveaux de gris\",\r\n      BlackAndWhite: \"Noir et blanc\",\r\n      Sepia: \"Sépia\",\r\n      Invert: \"Inverser\",\r\n      Text: \"Ajouter du texte\",\r\n      Pen: \"Stylo\",\r\n      Reset: \"Réinitialiser\",\r\n      Save: \"Sauvegarder\",\r\n      Select: \"Sélectionner\",\r\n      RotateLeft: \"Tourne à gauche\",\r\n      RotateRight: \"Tourner à droite\",\r\n      HorizontalFlip: \"Retournement horizontal\",\r\n      VerticalFlip: \"Retournement vertical\",\r\n      OK: \"D'ACCORD\",\r\n      Cancel: \"Annuler\",\r\n      DlgOK: \"D'ACCORD\",\r\n      FillColor: \"La couleur de remplissage\",\r\n      StrokeColor: \"Couleur du trait\",\r\n      StrokeWidth: \"Largeur du trait\",\r\n      FontFamily: \"Famille de polices\",\r\n      FontStyle: \"Le style de police\",\r\n      FontSize: \"Taille de police\",\r\n      FontColor: \"Couleur de la police\",\r\n      Pan: \"Poêle\",\r\n      Move: \"Se déplacer\",\r\n      Load: \"Charger\",\r\n      Custom: \"Coutume\",\r\n      Square: \"Carré\",\r\n      Circle: \"Cercle\",\r\n      Ellipse: \"Ellipse\",\r\n      Rectangle: \"Rectangle\",\r\n      Line: \"Ligne\",\r\n      Arrow: \"Flèche\",\r\n      Path: \"Chemin\",\r\n      Bold: \"Audacieux\",\r\n      Italic: \"Italique\",\r\n      BoldItalic: \"Gras italique\",\r\n      XSmall: \"X-petit\",\r\n      Small: \"Petit\",\r\n      Medium: \"Moyen\",\r\n      Large: \"Grand\",\r\n      XLarge: \"X-Large\",\r\n      ABC: \"abc\",\r\n      Browse: \"Parcourir\",\r\n      Duplicate: \"Dupliquer\",\r\n      Remove: \"Retirer\",\r\n      EditText: \"Éditer le texte\",\r\n      Start: \"Commencer\",\r\n      End: \"Fin\",\r\n      Bar: \"Bar\",\r\n      ArrowSolid: \"Flèche solide\",\r\n      CircleSolid: \"Cercle solide\",\r\n      SquareSolid: \"Carré Solide\",\r\n      None: \"Aucun\",\r\n      CropSelection: \"Sélection des cultures\",\r\n      Image: \"Ajouter une image\",\r\n      Transparency: \"Transparence\",\r\n      Height: \"Hauteur\",\r\n      Width: \"Largeur\",\r\n      AspectRatio: \"Conserver les proportions\",\r\n      W: \"W\",\r\n      H: \"H\",\r\n      DragText: \"Faites glisser et déposez votre image ici ou\",\r\n      DropText: \"Déposez votre image ici ou\",\r\n      BrowseText: \"Parcourez ici...\",\r\n      SupportText: \"Les soutiens:\",\r\n      Frame: \"Cadre\",\r\n      Mat: \"Tapis\",\r\n      Bevel: \"Biseau\",\r\n      Inset: \"Encart\",\r\n      Hook: \"Crochet\",\r\n      Color: \"Couleur\",\r\n      Size: \"Taille\",\r\n      Offset: \"Compenser\",\r\n      Radius: \"Rayon\",\r\n      Amount: \"Montant\",\r\n      Resize: \"Redimensionner\",\r\n      Border: \"Frontière\",\r\n      Solid: \"Solide\",\r\n      Dashed: \"En pointillés\",\r\n      Dotted: \"Pointé\",\r\n      GradientColor: \"Dégradé de couleur\",\r\n      ConfirmDialogHeader: \"Confirmer l'enregistrement des modifications\",\r\n      ConfirmDialogContent:\r\n        \"Voulez-vous enregistrer les modifications que vous avez apportées à l'image ?\",\r\n      AlertDialogHeader: \"Fichier non supporté\",\r\n      AlertDialogContent: \"Le fichier supprimé n'est pas pris en charge.\",\r\n      MinMaxSize: \"avec une taille de fichier comprise entre\",\r\n      MinMaxSizeAlert: \"Taille du fichier entre\",\r\n      MinSize: \"avec une taille de fichier minimale de\",\r\n      MinSizeAlert: \"Une taille de fichier minimale de\",\r\n      MaxSize: \"avec une taille de fichier maximale de\",\r\n      MaxSizeAlert: \"Une taille de fichier maximale de\",\r\n      To: \"à\",\r\n      Bytes: \"octets\",\r\n      Yes: \"Oui\",\r\n      No: \"Non\",\r\n      ImageErrorDialogHeader: \"Erreur lors de la sélection de l'image\",\r\n      ImageErrorDialogContent: \"Sélectionnez simplement l’image à ouvrir.\",\r\n      Straighten: \"Redresser\",\r\n      NoOutline: \"Pas de contour\",\r\n      Clone: \"Cloner\",\r\n      Delete: \"Supprimer\",\r\n      SaveAs: \"Enregistrer sous\",\r\n      ImageName: \"Nom d'image\",\r\n      Format: \"Format\",\r\n      Quality: \"Qualité\",\r\n      Download: \"Télécharger\",\r\n      Close: \"Fermer\",\r\n      ImageSize: \"Taille de l'image\",\r\n      QualityInfo:\r\n        \"L'option de qualité d'image est uniquement disponible pour le format JPEG\",\r\n      Good: \"Bien\",\r\n      Great: \"Super\",\r\n      Highest: \"Le plus élevé\",\r\n      BringForward: \"Avancer\",\r\n      SendBackward: \"Envoyer vers l'arrière\",\r\n      SendToBack: \"Envoyer au fond\",\r\n      BringToFront: \"Mettre au premier plan\",\r\n      ZOrder: \"Ordre z\",\r\n      Redact: \"Rédiger\",\r\n      Pixelate: \"Pixélate\",\r\n      BorderRadius: \"Rayon de frontière\",\r\n      TextOutlineColor: \"Couleur de contour\",\r\n      TextOutlineWidth: \"Largeur de contour\",\r\n      And: \"et\",\r\n    },\r\n    mention: {\r\n      noRecordsTemplate: \"Aucun enregistrement trouvé\",\r\n    },\r\n    inplaceeditor: {\r\n      save: \"Sauvegarder\",\r\n      cancel: \"Annuler\",\r\n      loadingText: \"Chargement...\",\r\n      editIcon: \"Cliquez pour modifier\",\r\n      editAreaClick: \"Cliquez pour modifier\",\r\n      editAreaDoubleClick: \"Double-cliquez pour modifier\",\r\n    },\r\n    PdfViewer: {\r\n      PdfViewer: \"Visionneuse PDF\",\r\n      Cancel: \"Annuler\",\r\n      \"Download file\": \"Télécharger un fichier\",\r\n      Download: \"Télécharger\",\r\n      \"Enter Password\": \"Ce document est protégé par mot de passe. \",\r\n      \"File Corrupted\": \"Fichier corrompu\",\r\n      \"File Corrupted Content\":\r\n        \"Le fichier est corrompu et ne peut pas être ouvert.\",\r\n      \"Fit Page\": \"Ajuster la page\",\r\n      \"Fit Width\": \"Ajuster la largeur\",\r\n      Automatic: \"Automatique\",\r\n      \"Go To First Page\": \"Afficher la première page\",\r\n      \"Invalid Password\": \"Mot de passe incorrect. \",\r\n      \"Next Page\": \"Afficher la page suivante\",\r\n      OK: \"D'ACCORD\",\r\n      Open: \"Fichier ouvert\",\r\n      \"Page Number\": \"Numéro de page actuel\",\r\n      \"Previous Page\": \"Afficher la page précédente\",\r\n      \"Go To Last Page\": \"Afficher la dernière page\",\r\n      Zoom: \"Zoom\",\r\n      \"Zoom In\": \"Agrandir\",\r\n      \"Zoom Out\": \"Dézoomer\",\r\n      \"Page Thumbnails\": \"Miniatures de pages\",\r\n      Bookmarks: \"Signets\",\r\n      Print: \"Imprimer le fichier\",\r\n      \"Organize Pages\": \"Organiser les pages\",\r\n      \"Insert Right\": \"Insérer à droite\",\r\n      \"Insert Left\": \"Insérer à gauche\",\r\n      Total: \"Total\",\r\n      Pages: \"Pages\",\r\n      \"Rotate Right\": \"Tourner à droite\",\r\n      \"Rotate Left\": \"Tourne à gauche\",\r\n      \"Delete Page\": \"Supprimer la page\",\r\n      \"Delete Pages\": \"Supprimer des pages\",\r\n      \"Copy Page\": \"Page de copie\",\r\n      \"Copy Pages\": \"Copier les pages\",\r\n      \"Import Document\": \"Document d'importation\",\r\n      Save: \"Sauvegarder\",\r\n      \"Save As\": \"Enregistrer sous\",\r\n      \"Select All\": \"Tout sélectionner\",\r\n      \"Password Protected\": \"Mot de passe requis\",\r\n      Copy: \"Copie\",\r\n      \"Text Selection\": \"Outil de sélection de texte\",\r\n      Panning: \"Mode panoramique\",\r\n      \"Text Search\": \"Rechercher du texte\",\r\n      \"Find in document\": \"Rechercher dans le document\",\r\n      \"Match case\": \"Cas de correspondance\",\r\n      \"Match any word\": \"Faites correspondre tout mot\",\r\n      Apply: \"Appliquer\",\r\n      GoToPage: \"Aller à la page\",\r\n      \"No Matches\":\r\n        \"PDF Viewer a terminé la recherche dans le document. Aucune correspondance n'a été trouvée.\",\r\n      \"No More Matches\":\r\n        \"PDF Viewer a terminé la recherche dans le document. Aucune autre correspondance n’a été trouvée.\",\r\n      \"Exact Matches\": \"Matchs exacts\",\r\n      \"Total Matches\": \"Total des matchs\",\r\n      Undo: \"annuler\",\r\n      Redo: \"Refaire\",\r\n      Annotation: \"Ajouter ou modifier des annotations\",\r\n      FormDesigner: \"Ajouter et modifier les champs de formulaire\",\r\n      Highlight: \"Texte surligné\",\r\n      Underline: \"Souligner le texte\",\r\n      Strikethrough: \"Texte barré\",\r\n      Delete: \"Supprimer l'annotation\",\r\n      Opacity: \"Opacité\",\r\n      \"Color edit\": \"Changer de couleur\",\r\n      \"Opacity edit\": \"Changer l'opacité\",\r\n      \"Highlight context\": \"Souligner\",\r\n      \"Underline context\": \"Souligner\",\r\n      \"Strikethrough context\": \"Traverser\",\r\n      \"Server error\": \"Le service Web n'écoute pas. \",\r\n      \"Client error\":\r\n        \"Une erreur côté client est trouvée. Veuillez vérifier les en-têtes personnalisés fournis dans la propriété AjaxRequestSettings et les méthodes d'action Web dans la propriété ServerActionSettings.\",\r\n      \"Open text\": \"Ouvrir\",\r\n      \"First text\": \"Première page\",\r\n      \"Previous text\": \"Page précédente\",\r\n      \"Next text\": \"Page suivante\",\r\n      \"Last text\": \"Dernière page\",\r\n      \"Zoom in text\": \"Agrandir\",\r\n      \"Zoom out text\": \"Dézoomer\",\r\n      \"Selection text\": \"Sélection\",\r\n      \"Pan text\": \"Poêle\",\r\n      \"Print text\": \"Imprimer\",\r\n      \"Search text\": \"Recherche\",\r\n      \"Annotation Edit text\": \"Modifier l'annotation\",\r\n      \"FormDesigner Edit text\": \"Ajouter et modifier les champs de formulaire\",\r\n      \"Line Thickness\": \"Épaisseur de ligne\",\r\n      \"Line Properties\": \"Propriétés de ligne\",\r\n      \"Start Arrow\": \"Flèche de départ\",\r\n      \"End Arrow\": \"Flèche de fin\",\r\n      \"Line Style\": \"Style de ligne\",\r\n      \"Fill Color\": \"La couleur de remplissage\",\r\n      \"Line Color\": \"Couleur de la ligne\",\r\n      None: \"Aucun\",\r\n      \"Open Arrow\": \"Ouvrir\",\r\n      \"Closed Arrow\": \"Fermé\",\r\n      \"Round Arrow\": \"Rond\",\r\n      \"Square Arrow\": \"Carré\",\r\n      \"Diamond Arrow\": \"diamant\",\r\n      Butt: \"Bout\",\r\n      Cut: \"Couper\",\r\n      Paste: \"Coller\",\r\n      \"Delete Context\": \"Supprimer\",\r\n      Properties: \"Propriétés\",\r\n      \"Add Stamp\": \"Ajouter un tampon\",\r\n      \"Add Shapes\": \"Ajouter des formes\",\r\n      \"Stroke edit\": \"Changer la couleur du trait\",\r\n      \"Change thickness\": \"Modifier l'épaisseur de la bordure\",\r\n      \"Add line\": \"Ajouter une ligne\",\r\n      \"Add arrow\": \"Ajouter une flèche\",\r\n      \"Add rectangle\": \"Ajouter un rectangle\",\r\n      \"Add circle\": \"Ajouter un cercle\",\r\n      \"Add polygon\": \"Ajouter un polygone\",\r\n      \"Add Comments\": \"Ajoutez des commentaires\",\r\n      Comments: \"commentaires\",\r\n      SubmitForm: \"Soumettre le formulaire\",\r\n      \"No Comments Yet\": \"Aucun commentaire pour l'instant\",\r\n      Accepted: \"Accepté\",\r\n      Completed: \"Complété\",\r\n      Cancelled: \"Annulé\",\r\n      Rejected: \"Rejeté\",\r\n      \"Leader Length\": \"Longueur du leader\",\r\n      \"Scale Ratio\": \"Rapport d'échelle\",\r\n      Calibrate: \"Étalonner\",\r\n      \"Calibrate Distance\": \"Calibrer la distance\",\r\n      \"Calibrate Perimeter\": \"Calibrer le périmètre\",\r\n      \"Calibrate Area\": \"Calibrer la zone\",\r\n      \"Calibrate Radius\": \"Calibrer le rayon\",\r\n      \"Calibrate Volume\": \"Calibrer le volume\",\r\n      Depth: \"Profondeur\",\r\n      Closed: \"Fermé\",\r\n      Round: \"Rond\",\r\n      Square: \"Carré\",\r\n      Diamond: \"diamant\",\r\n      Edit: \"Modifier\",\r\n      Comment: \"Commentaire\",\r\n      \"Comment Panel\": \"Groupe de commentaires\",\r\n      \"Set Status\": \"Définir le statut\",\r\n      Post: \"Poste\",\r\n      Page: \"Page\",\r\n      \"Add a comment\": \"Ajouter un commentaire\",\r\n      \"Add a reply\": \"Ajouter une réponse\",\r\n      \"Import Annotations\": \"Importer des annotations à partir du fichier JSON\",\r\n      \"Export Annotations\": \"Exporter l'annotation vers le fichier JSON\",\r\n      \"Export XFDF\": \"Exporter l'annotation vers le fichier XFDF\",\r\n      \"Import XFDF\": \"Importer des annotations à partir du fichier XFDF\",\r\n      Add: \"Ajouter\",\r\n      Clear: \"Clair\",\r\n      Bold: \"Audacieux\",\r\n      Italic: \"Italique\",\r\n      Strikethroughs: \"Barré\",\r\n      Underlines: \"Souligner\",\r\n      Superscript: \"Exposant\",\r\n      Subscript: \"Indice\",\r\n      \"Align left\": \"Alignez à gauche\",\r\n      \"Align right\": \"Aligner à droite\",\r\n      Center: \"Centre\",\r\n      Justify: \"Justifier\",\r\n      \"Font color\": \"Couleur de la police\",\r\n      \"Text Align\": \"Aligner le texte\",\r\n      \"Text Properties\": \"Le style de police\",\r\n      SignatureFieldDialogHeaderText: \"Ajouter une signature\",\r\n      HandwrittenSignatureDialogHeaderText: \"Ajouter une signature\",\r\n      InitialFieldDialogHeaderText: \"Ajouter initial\",\r\n      HandwrittenInitialDialogHeaderText: \"Ajouter initial\",\r\n      \"Draw Ink\": \"Dessiner de l'encre\",\r\n      Create: \"Créer\",\r\n      \"Font family\": \"Famille de polices\",\r\n      \"Font size\": \"Taille de police\",\r\n      \"Free Text\": \"Texte libre\",\r\n      \"Import Failed\":\r\n        \"Type de fichier JSON non valide ou nom de fichier; Veuillez sélectionner un fichier JSON valide\",\r\n      \"Import PDF Failed\":\r\n        \"Type de fichier PDF non valide ou fichier PDF introuvable. Veuillez sélectionner un fichier PDF valide\",\r\n      \"File not found\":\r\n        \"Le fichier JSON importé n'est pas trouvé dans l'emplacement souhaité\",\r\n      \"Export Failed\":\r\n        \"L'action des annotations d'exportation a échoué; Veuillez vous assurer que les annotations sont ajoutées correctement\",\r\n      of: \"de\",\r\n      Dynamic: \"Dynamique\",\r\n      \"Standard Business\": \"Entreprise standard\",\r\n      \"Sign Here\": \"Signez ici\",\r\n      \"Custom Stamp\": \"Timbre personnalisé\",\r\n      \"Enter Signature as Name\": \"Entrez votre nom\",\r\n      \"Draw-hand Signature\": \"DESSINER\",\r\n      \"Type Signature\": \"TAPER\",\r\n      \"Upload Signature\": \"TÉLÉCHARGER\",\r\n      \"Browse Signature Image\": \"PARCOURIR\",\r\n      \"Save Signature\": \"Enregistrer la signature\",\r\n      \"Save Initial\": \"Économiser initial\",\r\n      Textbox: \"Zone de texte\",\r\n      Password: \"Mot de passe\",\r\n      \"Check Box\": \"Case à cocher\",\r\n      \"Radio Button\": \"Bouton radio\",\r\n      Dropdown: \"Dérouler\",\r\n      \"List Box\": \"Liste de listes\",\r\n      Signature: \"Signature\",\r\n      \"Delete FormField\": \"Supprimer le champ de formulaire\",\r\n      \"Textbox Properties\": \"Propriétés de la zone de texte\",\r\n      Name: \"Nom\",\r\n      Tooltip: \"Info-bulle\",\r\n      Value: \"Valeur\",\r\n      \"Form Field Visibility\": \"Forme de visibilité sur le terrain\",\r\n      \"Read Only\": \"Lecture seulement\",\r\n      Required: \"Requis\",\r\n      Checked: \"Vérifié\",\r\n      \"Show Printing\": \"Afficher l'impression\",\r\n      Formatting: \"Format\",\r\n      Fill: \"Remplir\",\r\n      Border: \"Frontière\",\r\n      \"Border Color\": \"Couleur de la bordure\",\r\n      Thickness: \"Épaisseur\",\r\n      \"Max Length\": \"Longueur maximale\",\r\n      \"List Item\": \"Nom de l'article\",\r\n      \"Export Value\": \"Valeur de l'élément\",\r\n      \"Dropdown Item List\": \"Liste des articles déroulants\",\r\n      \"List Box Item List\": \"Liste des éléments de la boîte\",\r\n      General: \"GÉNÉRAL\",\r\n      Appearance: \"APPARENCE\",\r\n      Options: \"OPTIONS\",\r\n      \"Delete Item\": \"Supprimer\",\r\n      Up: \"En haut\",\r\n      Down: \"Vers le bas\",\r\n      Multiline: \"Multiligne\",\r\n      Revised: \"modifié\",\r\n      Reviewed: \"Révisé\",\r\n      Received: \"Reçu\",\r\n      Confidential: \"Confidentiel\",\r\n      Approved: \"Approuvé\",\r\n      \"Not Approved\": \"Non approuvé\",\r\n      Witness: \"Témoin\",\r\n      \"Initial Here\": \"Vos initiales ici\",\r\n      Draft: \"Brouillon\",\r\n      Final: \"Final\",\r\n      \"For Public Release\": \"Pour libération publique\",\r\n      \"Not For Public Release\": \"Pas pour la libération publique\",\r\n      \"For Comment\": \"Pour commenter\",\r\n      Void: \"Vide\",\r\n      \"Preliminary Results\": \"Résultats préliminaires\",\r\n      \"Information Only\": \"Information seulement\",\r\n      in: \"dans\",\r\n      m: \"m\",\r\n      ft_in: \"ft_in\",\r\n      ft: \"pi\",\r\n      p: \"p\",\r\n      cm: \"cm\",\r\n      mm: \"mm\",\r\n      pt: \"pt\",\r\n      cu: \"cu\",\r\n      sq: \"carré\",\r\n      Initial: \"Initial\",\r\n      \"No Search Matches\": \"Aucun résultat\",\r\n      \"No More Search Matches\": \"Aucune autre correspondance trouvée\",\r\n      \"No matches\": \"La visionneuse a terminé la recherche dans le document. \",\r\n      \"No Text Found\": \"Aucun texte trouvé\",\r\n    },\r\n    stepper: {\r\n      optional: \"Facultatif\",\r\n    },\r\n  },\r\n};\r\n","export const zhLocalization = {\r\n  zh: {\r\n    grid: {\r\n      EmptyRecord: \"无记录显示\",\r\n      True: \"真正\",\r\n      False: \"假\",\r\n      InvalidFilterMessage: \"无效的过滤器数据\",\r\n      GroupDropArea: \"将列标题拖到此处以对其列进行分组\",\r\n      UnGroup: \"点击此处取消分组\",\r\n      GroupDisable: \"该列的分组已禁用\",\r\n      FilterbarTitle: \"的滤网\",\r\n      EmptyDataSourceError:\r\n        \"初始加载时，DataSource不能为空，因为列是从AutoGenerate Column Grid中的dataSource生成的\",\r\n      Add: \"加\",\r\n      Edit: \"编辑\",\r\n      Cancel: \"取消\",\r\n      Update: \"更新资料\",\r\n      Delete: \"刪除\",\r\n      Print: \"打印\",\r\n      Pdfexport: \"PDF导出\",\r\n      Excelexport: \"Excel导出\",\r\n      Wordexport: \"单词导出\",\r\n      Csvexport: \"CSV导出\",\r\n      Search: \"搜索\",\r\n      Columnchooser: \"列\",\r\n      Save: \"保存\",\r\n      Item: \"项目\",\r\n      Items: \"项目\",\r\n      EditOperationAlert: \"未选择任何记录进行编辑操作\",\r\n      DeleteOperationAlert: \"未选择要删除操作的记录\",\r\n      SaveButton: \"保存\",\r\n      OKButton: \"好\",\r\n      CancelButton: \"取消\",\r\n      EditFormTitle: \"的详细內容\",\r\n      AddFormTitle: \"添加新记录\",\r\n      BatchSaveConfirm: \"您确定要保存更改吗？\",\r\n      BatchSaveLostChanges: \"未保存的更改将丟失。你确定你要继续？\",\r\n      ConfirmDelete: \"您确定要删除记录吗？\",\r\n      CancelEdit: \"您确定要取消更改吗？\",\r\n      ChooseColumns: \"选择列\",\r\n      SearchColumns: \"搜索栏\",\r\n      Matchs: \"找不到匹配项\",\r\n      FilterButton: \"过滤\",\r\n      ClearButton: \"明确\",\r\n      StartsWith: \"以。。开始\",\r\n      EndsWith: \"以。。结束\",\r\n      Contains: \"包含\",\r\n      Equal: \"等于\",\r\n      NotEqual: \"不平等\",\r\n      LessThan: \"少于\",\r\n      LessThanOrEqual: \"小于或等于\",\r\n      GreaterThan: \"比...更棒\",\r\n      GreaterThanOrEqual: \"大于等于\",\r\n      ChooseDate: \"选择日期\",\r\n      EnterValue: \"输入值\",\r\n      Copy: \"复制\",\r\n      Group: \"按此列分组\",\r\n      Ungroup: \"按此列取消分组\",\r\n      autoFitAll: \"自动适合所有列\",\r\n      autoFit: \"自动适合此列\",\r\n      Export: \"出口\",\r\n      FirstPage: \"第一页\",\r\n      LastPage: \"最后一页\",\r\n      PreviousPage: \"上一页\",\r\n      NextPage: \"下一页\",\r\n      SortAscending: \"升序\",\r\n      SortDescending: \"降序排列\",\r\n      EditRecord: \"编辑记录\",\r\n      DeleteRecord: \"删除记录\",\r\n      FilterMenu: \"过滤\",\r\n      SelectAll: \"全选\",\r\n      Blanks: \"空白\",\r\n      FilterTrue: \"真正\",\r\n      FilterFalse: \"假\",\r\n      NoResult: \"找不到匹配项\",\r\n      ClearFilter: \"清除筛选\",\r\n      NumberFilter: \"号码过滤器\",\r\n      TextFilter: \"文字过滤器\",\r\n      DateFilter: \"日期过滤器\",\r\n      DateTimeFilter: \"日期时间过滤器\",\r\n      MatchCase: \"相符\",\r\n      Between: \"之间\",\r\n      CustomFilter: \"自定义过滤器\",\r\n      CustomFilterPlaceHolder: \"输入值\",\r\n      CustomFilterDatePlaceHolder: \"选择一个日期\",\r\n      AND: \"和\",\r\n      OR: \"要么\",\r\n      ShowRowsWhere: \"在以下位置显示行：\",\r\n      NotStartsWith: \"不以开头\",\r\n      Like: \"喜欢\",\r\n      NotEndsWith: \"不以结束\",\r\n      NotContains: \"不含\",\r\n      IsNull: \"无效的\",\r\n      NotNull: \"不为空\",\r\n      IsEmpty: \"空的\",\r\n      IsNotEmpty: \"不是空的\",\r\n      AddCurrentSelection: \"将当前选择添加到过滤器\",\r\n      UnGroupButton: \"单击此处取消分组\",\r\n      AutoFitAll: \"自动调整所有列\",\r\n      AutoFit: \"自动调整此列\",\r\n      Clear: \"清除\",\r\n      FilterMenuDialogARIA: \"过滤器菜单对话框\",\r\n      ExcelFilterDialogARIA: \"Excel 过滤器对话框\",\r\n      DialogEditARIA: \"编辑对话框\",\r\n      ColumnChooserDialogARIA: \"列选择器\",\r\n      ColumnMenuDialogARIA: \"列菜单对话框\",\r\n      CustomFilterDialogARIA: \"自定义过滤器对话框\",\r\n      SortAtoZ: \"从 A 到 Z 排序\",\r\n      SortZtoA: \"从 Z 到 A 排序\",\r\n      SortByOldest: \"按最旧排序\",\r\n      SortByNewest: \"按最新排序\",\r\n      SortSmallestToLargest: \"从小到大排序\",\r\n      SortLargestToSmallest: \"从大到小排序\",\r\n      Sort: \"捃\",\r\n      FilterDescription: \"按 Alt Down 打开过滤器菜单\",\r\n      SortDescription: \"按 Enter 进行排序\",\r\n      ColumnMenuDescription: \"按 Alt Down 打开列菜单\",\r\n      GroupDescription: \"按 Ctrl 空格进行分组\",\r\n      ColumnHeader: \" 列标题 \",\r\n      TemplateCell: \" 是模板单元格\",\r\n      CommandColumnAria: \"是命令列列标题 \",\r\n      DialogEdit: \"对话框编辑\",\r\n      ClipBoard: \"剪贴板\",\r\n      GroupButton: \"组按钮\",\r\n      UnGroupAria: \"取消组合按钮\",\r\n      GroupSeperator: \"分组列的分隔符\",\r\n      UnGroupIcon: \"取消分组分组的列 \",\r\n      GroupedSortIcon: \"对分组的列进行排序 \",\r\n      GroupedDrag: \"拖动分组的列\",\r\n      GroupCaption: \" 是组字幕单元格\",\r\n      CheckBoxLabel: \"复选框\",\r\n      Expanded: \"展开\",\r\n      Collapsed: \"倒塌\",\r\n      SelectAllCheckbox: \"选择全部复选框\",\r\n    },\r\n    pager: {\r\n      currentPageInfo: \"第{0}页／共{1}页\",\r\n      totalItemsInfo: \"（{0}个项目）\",\r\n      firstPageTooltip: \"转到第一页\",\r\n      lastPageTooltip: \"转到最后一页\",\r\n      nextPageTooltip: \"转到下一页\",\r\n      previousPageTooltip: \"转到上一页\",\r\n      nextPagerTooltip: \"转到下一个寻呼机项目\",\r\n      previousPagerTooltip: \"转到上一个寻呼机项目\",\r\n      pagerDropDown: \"每页项目\",\r\n      pagerAllDropDown: \"物品\",\r\n      All: \"所有\",\r\n      totalItemInfo: \"（{0}项目）\",\r\n      Container: \"寻呼机容器\",\r\n      Information: \"寻呼机信息\",\r\n      ExternalMsg: \"寻呼机外部消息\",\r\n      Page: \"页 \",\r\n      Of: \" 的 \",\r\n      Pages: \" 页面\",\r\n    },\r\n    kanban: {\r\n      items: \"项目\",\r\n      min: \"敏\",\r\n      max: \"最高\",\r\n      cardsSelected: \"选择的卡\",\r\n      addTitle: \"新增卡\",\r\n      editTitle: \"编辑卡详细信息\",\r\n      deleteTitle: \"刪除卡\",\r\n      deleteContent: \"您确定要刪除此卡吗？\",\r\n      save: \"救\",\r\n      delete: \"刪除\",\r\n      cancel: \"取消\",\r\n      yes: \"是\",\r\n      no: \"没有\",\r\n      close: \"关\",\r\n      noCard: \"没有可显示的卡片\",\r\n      unassigned: \"未分配\",\r\n      cards: \"运输\",\r\n    },\r\n    dropdowns: {\r\n      noRecordsTemplate: \"没有找到记录\",\r\n      actionFailureTemplate: \"请求失败\",\r\n      overflowCountTemplate: \"+${count}更多..\",\r\n      selectAllText: \"全选\",\r\n      unSelectAllText: \"全部取消选择\",\r\n      totalCountTemplate: \"已选择${count}个\",\r\n    },\r\n    \"drop-down-list\": {\r\n      noRecordsTemplate: \"没有找到记录\",\r\n      actionFailureTemplate: \"请求失败\",\r\n    },\r\n    \"combo-box\": {\r\n      noRecordsTemplate: \"没有找到记录\",\r\n      actionFailureTemplate: \"请求失败\",\r\n    },\r\n    \"auto-complete\": {\r\n      noRecordsTemplate: \"没有找到记录\",\r\n      actionFailureTemplate: \"请求失败\",\r\n    },\r\n    \"multi-select\": {\r\n      noRecordsTemplate: \"没有找到记录\",\r\n      actionFailureTemplate: \"请求失败\",\r\n      overflowCountTemplate: \"+${count}更多..\",\r\n      selectAllText: \"全选\",\r\n      unSelectAllText: \"全部取消选择\",\r\n      totalCountTemplate: \"已选择${count}个\",\r\n    },\r\n    listbox: {\r\n      noRecordsTemplate: \"没有找到记录\",\r\n      actionFailureTemplate: \"请求失败\",\r\n      selectAllText: \"全选\",\r\n      unSelectAllText: \"全部取消选择\",\r\n      moveUp: \"提升\",\r\n      moveDown: \"下移\",\r\n      moveTo: \"搬去\",\r\n      moveFrom: \"从\",\r\n      moveAllTo: \"全部移至\",\r\n      moveAllFrom: \"全部移出\",\r\n    },\r\n    spreadsheet: {\r\n      InsertingEmptyValue: \"参考值无效。\",\r\n      FindValue: \"寻找价值\",\r\n      ReplaceValue: \"替换值\",\r\n      FindReplaceTooltip: \"查找和替换\",\r\n      ByRow: \"按行\",\r\n      ByColumn: \"按列\",\r\n      MatchExactCellElements: \"匹配整个单元格内容\",\r\n      EnterCellAddress: \"输入单元格地址\",\r\n      FindAndReplace: \"查找和替换\",\r\n      ReplaceAllEnd: \" 比赛替换为\",\r\n      FindNextBtn: \"找下一个\",\r\n      FindPreviousBtn: \"查找上一个\",\r\n      ReplaceBtn: \"代替\",\r\n      ReplaceAllBtn: \"全部替换\",\r\n      GotoHeader: \"去\",\r\n      Sheet: \"床单\",\r\n      SearchWithin: \"在内部搜索\",\r\n      SearchBy: \"搜索依据\",\r\n      Reference: \"参考\",\r\n      Workbook: \"工作簿\",\r\n      NoElements: \"我们找不到您要找的东西。\",\r\n      FindWhat: \"找什么\",\r\n      ReplaceWith: \"用。。。来代替\",\r\n      FileName: \"文档名称\",\r\n      ExtendValidation:\r\n        \"选择包含一些没有数据验证的单元格。您想将验证扩展到这些单元格吗？\",\r\n      Yes: \"是的\",\r\n      No: \"不\",\r\n      PROPER: \"将文本转换为正确的大小写；第一个字母大写，其他字母小写。\",\r\n      Cut: \"切\",\r\n      Copy: \"复制\",\r\n      Paste: \"粘贴\",\r\n      PasteSpecial: \"特殊粘贴\",\r\n      All: \"全部\",\r\n      Values: \"价值观\",\r\n      Formats: \"格式\",\r\n      Font: \"字体\",\r\n      FontSize: \"字体大小\",\r\n      Bold: \"胆大\",\r\n      Italic: \"斜体\",\r\n      Underline: \"强调\",\r\n      Strikethrough: \"删除线\",\r\n      TextColor: \"文字颜色\",\r\n      FillColor: \"填色\",\r\n      HorizontalAlignment: \"水平对齐\",\r\n      AlignLeft: \"左对齐\",\r\n      AlignCenter: \"中心\",\r\n      AlignRight: \"右对齐\",\r\n      VerticalAlignment: \"垂直对齐\",\r\n      AlignTop: \"顶部对齐\",\r\n      AlignMiddle: \"居中对齐\",\r\n      AlignBottom: \"底部对齐\",\r\n      MergeCells: \"合并单元格\",\r\n      MergeAll: \"全部合并\",\r\n      MergeHorizontally: \"水平合并\",\r\n      MergeVertically: \"垂直合并\",\r\n      Unmerge: \"取消合并\",\r\n      UnmergeCells: \"取消合并单元格\",\r\n      SelectMergeType: \"选择合并类型\",\r\n      MergeCellsAlert: \"合并单元格只会保留最左上角（最上层）的值。还是合并？\",\r\n      PasteMergeAlert: \"我们不能对合并单元格执行此操作。\",\r\n      Borders: \"边框\",\r\n      TopBorders: \"顶部边框\",\r\n      LeftBorders: \"左边框\",\r\n      RightBorders: \"右边框\",\r\n      BottomBorders: \"底部边框\",\r\n      AllBorders: \"所有边框\",\r\n      HorizontalBorders: \"水平边框\",\r\n      VerticalBorders: \"垂直边框\",\r\n      OutsideBorders: \"境外\",\r\n      InsideBorders: \"内部边界\",\r\n      NoBorders: \"无国界\",\r\n      BorderColor: \"边框颜色\",\r\n      BorderStyle: \"边框样式\",\r\n      InsertFunction: \"插入函数\",\r\n      Insert: \"插入\",\r\n      Delete: \"删除\",\r\n      DuplicateSheet: \"复制\",\r\n      MoveRight: \"向右移\",\r\n      MoveLeft: \"向左移动\",\r\n      Rename: \"改名\",\r\n      Hide: \"隐藏\",\r\n      NameBox: \"姓名框\",\r\n      ShowHeaders: \"显示标题\",\r\n      HideHeaders: \"隐藏标题\",\r\n      ShowGridLines: \"显示网格线\",\r\n      HideGridLines: \"隐藏网格线\",\r\n      FreezePanes: \"冻结窗格\",\r\n      FreezeRows: \"冻结行\",\r\n      FreezeColumns: \"冻结列\",\r\n      UnfreezePanes: \"解冻窗格\",\r\n      UnfreezeRows: \"解冻行\",\r\n      UnfreezeColumns: \"解冻列\",\r\n      AddSheet: \"添加工作表\",\r\n      ListAllSheets: \"列出所有工作表\",\r\n      CollapseToolbar: \"折叠工具栏\",\r\n      ExpandToolbar: \"展开工具栏\",\r\n      CollapseFormulaBar: \"折叠公式栏\",\r\n      ExpandFormulaBar: \"展开公式栏\",\r\n      File: \"文件\",\r\n      Home: \"家\",\r\n      Formulas: \"公式\",\r\n      View: \"看法\",\r\n      New: \"新的\",\r\n      Open: \"打开\",\r\n      SaveAs: \"另存为\",\r\n      ExcelXlsx: \"微软Excel\",\r\n      ExcelXls: \"微软 Excel 97-2003\",\r\n      CSV: \"逗号分隔值\",\r\n      FormulaBar: \"公式栏\",\r\n      Sort: \"种类\",\r\n      SortAscending: \"上升\",\r\n      SortDescending: \"降序\",\r\n      CustomSort: \"自定义排序\",\r\n      AddColumn: \"添加列\",\r\n      ContainsHeader: \"数据包含标题\",\r\n      CaseSensitive: \"区分大小写\",\r\n      SortBy: \"排序方式\",\r\n      ThenBy: \"然后通过\",\r\n      SelectAColumn: \"选择一列\",\r\n      SortEmptyFieldError:\r\n        \"所有排序条件都必须指定一列。检查选定的排序标准并重试。\",\r\n      SortDuplicateFieldError: \" 不止一次按值排序。删除重复的排序条件并重试。\",\r\n      SortOutOfRangeError: \"选择已使用范围内的单元格或范围，然后重试。\",\r\n      MultiRangeSortError: \"这不能在多范围选择上完成。选择一个范围并重试。\",\r\n      HideRow: \"隐藏行\",\r\n      HideRows: \"隐藏行\",\r\n      UnhideRows: \"取消隐藏行\",\r\n      HideColumn: \"隐藏列\",\r\n      HideColumns: \"隐藏列\",\r\n      UnhideColumns: \"取消隐藏列\",\r\n      InsertRow: \"插入行\",\r\n      InsertRows: \"插入行\",\r\n      Above: \"多于\",\r\n      Below: \"以下\",\r\n      InsertColumn: \"插入列\",\r\n      InsertColumns: \"插入列\",\r\n      Before: \"前\",\r\n      After: \"后\",\r\n      DeleteRow: \"删除行\",\r\n      DeleteRows: \"删除行\",\r\n      DeleteColumn: \"删除列\",\r\n      DeleteColumns: \"删除列\",\r\n      Ok: \"好的\",\r\n      Close: \"关闭\",\r\n      MoreOptions: \"更多的选择\",\r\n      Cancel: \"取消\",\r\n      Apply: \"申请\",\r\n      MoreColors: \"更多颜色\",\r\n      StandardColors: \"标准颜色\",\r\n      General: \"一般的\",\r\n      Number: \"数字\",\r\n      Currency: \"货币\",\r\n      Accounting: \"会计\",\r\n      ShortDate: \"短约会\",\r\n      LongDate: \"长日期\",\r\n      Time: \"时间\",\r\n      Percentage: \"百分比\",\r\n      Fraction: \"分数\",\r\n      Scientific: \"科学的\",\r\n      Text: \"文本\",\r\n      NumberFormat: \"数字格式\",\r\n      MobileFormulaBarPlaceHolder: \"输入值或公式\",\r\n      PasteAlert:\r\n        \"你不能在这里粘贴，因为复制区域和粘贴区域的大小不一样。请尝试在不同的范围内粘贴。\",\r\n      DestroyAlert:\r\n        \"您确定要在不保存的情况下销毁当前工作簿并创建一个新工作簿吗？\",\r\n      SheetRenameInvalidAlert: \"工作表名称包含无效字符。\",\r\n      SheetRenameEmptyAlert: \"工作表名称不能为空。\",\r\n      SheetRenameAlreadyExistsAlert: \"工作表名称已存在。请输入其他名称。\",\r\n      DeleteSheetAlert: \"您确定要删除此工作表吗？\",\r\n      DeleteSingleLastSheetAlert: \"工作簿必须包含至少一个可见的工作表。\",\r\n      PickACategory: \"选择一个类别\",\r\n      Description: \"描述\",\r\n      UnsupportedFile: \"不支持的文件\",\r\n      DataLimitExceeded: \"文件数据太大，处理时间较长，要继续吗？\",\r\n      FileSizeLimitExceeded: \"文件太大，处理需要更多时间，要继续吗？\",\r\n      InvalidUrl: \"无效的网址\",\r\n      SUM: \"添加一系列数字和/或单元格。\",\r\n      SUMIF: \"根据指定条件添加单元格。\",\r\n      SUMIFS: \"根据指定条件添加单元格。\",\r\n      ABS: \"返回不带符号的数字的值。\",\r\n      RAND: \"返回 0 到 1 之间的随机数。\",\r\n      RANDBETWEEN: \"返回基于指定值的随机整数。\",\r\n      FLOOR: \"将数字向下舍入到给定因子的最接近倍数。\",\r\n      CEILING: \"将数字向上舍入为给定因子的最接近倍数。\",\r\n      PRODUCT: \"将一系列数字和/或单元格相乘。\",\r\n      AVERAGE: \"计算不包括文本的一系列数字和/或单元格的平均值。\",\r\n      AVERAGEIF: \"根据指定的标准计算单元格的平均值。\",\r\n      AVERAGEIFS: \"根据指定条件计算单元格的平均值。\",\r\n      AVERAGEA:\r\n        \"计算将 TRUE 评估为 1、将文本和 FALSE 评估为 0 的单元格的平均值。\",\r\n      COUNT: \"计算范围内包含数值的单元格。\",\r\n      COUNTIF: \"根据指定条件对细胞进行计数。\",\r\n      COUNTIFS: \"根据指定条件对细胞进行计数。\",\r\n      COUNTA: \"对包含某个范围内的值的单元格进行计数。\",\r\n      MIN: \"返回给定参数的最小数量。\",\r\n      MAX: \"返回最大数量的给定参数。\",\r\n      DATE: \"返回基于给定年、月和日的日期。\",\r\n      DAY: \"返回给定日期的日期。\",\r\n      DAYS: \"返回两个日期之间的天数。\",\r\n      IF: \"根据给定的表达式返回值。\",\r\n      IFS: \"根据给定的多个表达式返回值。\",\r\n      CalculateAND: \"如果所有参数都为 TRUE，则返回 TRUE，否则返回 FALSE。\",\r\n      CalculateOR: \"如果任何参数为 TRUE，则返回 TRUE，否则返回 FALSE。\",\r\n      IFERROR: \"如果没有发现错误则返回值，否则它将返回指定的值。\",\r\n      CHOOSE: \"根据索引号从值列表中返回一个值。\",\r\n      INDEX: \"根据行号和列号返回给定范围内的单元格值。\",\r\n      FIND: \"返回一个字符串在另一个字符串中的位置，区分大小写。\",\r\n      CONCATENATE: \"将两个或多个字符串组合在一起。\",\r\n      CONCAT: \"连接一个列表或一系列文本字符串。\",\r\n      SUBTOTAL: \"使用给定的函数编号返回范围的小计。\",\r\n      RADIANS: \"将度数转换为弧度。\",\r\n      MATCH: \"返回给定范围内指定值的相对位置。\",\r\n      SLOPE: \"从数据点的线性回归返回直线的斜率。\",\r\n      INTERCEPT: \"通过线性回归计算 Y 截距线的点。\",\r\n      UNIQUE: \"返回范围或数组中的唯一值\",\r\n      TEXT: \"将值转换为指定数字格式的文本。\",\r\n      DefineNameExists: \"此名称已存在，请尝试其他名称。\",\r\n      CircularReference:\r\n        \"当公式引用一个或多个循环引用时，这可能会导致计算不正确。\",\r\n      SORT: \"对数组的范围进行排序\",\r\n      T: \"检查值是否为文本并返回文本。\",\r\n      EXACT: \"检查两个文本字符串是否完全相同并返回 TRUE 或 FALSE。\",\r\n      LEN: \"返回给定字符串中的字符数。\",\r\n      MOD: \"返回数字除以除数后的余数。\",\r\n      ODD: \"将正数向上舍入并将负数向下舍入到最接近的奇数。\",\r\n      PI: \"返回 pi 的值。\",\r\n      COUNTBLANK: \"返回指定单元格范围内的空单元格数。\",\r\n      EVEN: \"将正数向上舍入并将负数向下舍入到最接近的偶数。\",\r\n      DECIMAL: \"将给定基数中数字的文本表示形式转换为十进制数。\",\r\n      ADDRESS: \"给定指定的行号和列号，以文本形式返回单元格引用。\",\r\n      CHAR: \"返回指定数字中的字符。\",\r\n      CODE: \"返回给定字符串中第一个字符的数字代码。\",\r\n      DOLLAR: \"将数字转换为货币格式的文本。\",\r\n      SMALL: \"返回给定数组中的第 k 个最小值。\",\r\n      LARGE: \"返回给定数组中的第 k 个最大值。\",\r\n      TIME: \"将小时、分钟、秒转换为时间格式的文本。\",\r\n      DEGREES: \"将弧度转换为度数。\",\r\n      FACT: \"返回数字的阶乘。\",\r\n      MEDIAN: \"返回给定数字集的中位数。\",\r\n      EDATE: \"返回指定日期之前或之后的给定月数的日期。\",\r\n      DATEVALUE: \"将日期字符串转换为日期值。\",\r\n      NOW: \"返回当前日期和时间。\",\r\n      HOUR: \"返回指定时间字符串中的小时数。\",\r\n      MINUTE: \"返回指定时间字符串中的分钟数。\",\r\n      SECOND: \"返回指定时间字符串中的秒数。\",\r\n      MONTH: \"返回指定日期字符串中的月数。\",\r\n      OR: \"或者\",\r\n      AND: \"和\",\r\n      CustomFilterDatePlaceHolder: \"选择日期\",\r\n      CustomFilterPlaceHolder: \"输入值\",\r\n      CustomFilter: \"自定义过滤器\",\r\n      Between: \"之间\",\r\n      MatchCase: \"相符\",\r\n      DateTimeFilter: \"日期时间过滤器\",\r\n      Undo: \"撤消\",\r\n      Redo: \"重做\",\r\n      ClearAllFilter: \"清除\",\r\n      ReapplyFilter: \"重新申请\",\r\n      DateFilter: \"日期过滤器\",\r\n      TextFilter: \"文本过滤器\",\r\n      NumberFilter: \"数字过滤器\",\r\n      ClearFilter: \"清除过滤器\",\r\n      NoResult: \"未找到匹配项\",\r\n      FilterFalse: \"错误的\",\r\n      FilterTrue: \"真的\",\r\n      Blanks: \"毛坯\",\r\n      SelectAll: \"全选\",\r\n      GreaterThanOrEqual: \"大于或等于\",\r\n      GreaterThan: \"比...更棒\",\r\n      LessThanOrEqual: \"小于或等于\",\r\n      LessThan: \"少于\",\r\n      NotEqual: \"不等于\",\r\n      Equal: \"平等的\",\r\n      Contains: \"包含\",\r\n      NotContains: \"不包含\",\r\n      EndsWith: \"以。。结束\",\r\n      NotEndsWith: \"不结束于\",\r\n      StartsWith: \"以。。开始\",\r\n      NotStartsWith: \"不以开头\",\r\n      IsEmpty: \"空的\",\r\n      IsNotEmpty: \"不是空的\",\r\n      ClearButton: \"清除\",\r\n      FilterButton: \"筛选\",\r\n      CancelButton: \"取消\",\r\n      OKButton: \"好的\",\r\n      Search: \"搜索\",\r\n      DataValidation: \"数据验证\",\r\n      CellRange: \"单元格范围\",\r\n      Allow: \"允许\",\r\n      Data: \"数据\",\r\n      Minimum: \"最低限度\",\r\n      Maximum: \"最大限度\",\r\n      IgnoreBlank: \"忽略空格\",\r\n      WholeNumber: \"完整的号码\",\r\n      Decimal: \"十进制\",\r\n      Date: \"日期\",\r\n      TextLength: \"文本长度\",\r\n      List: \"列表\",\r\n      NotBetween: \"不介于\",\r\n      EqualTo: \"等于\",\r\n      NotEqualTo: \"不等于\",\r\n      GreaterThanOrEqualTo: \"大于或等于\",\r\n      LessThanOrEqualTo: \"小于或等于\",\r\n      InCellDropDown: \"单元格下拉\",\r\n      Sources: \"来源\",\r\n      Value: \"价值\",\r\n      Retry: \"重试\",\r\n      DialogError: \"列表源必须是对单个行或列的引用。\",\r\n      MinMaxError: \"最大值必须大于或等于最小值。\",\r\n      Spreadsheet: \"电子表格\",\r\n      MoreValidation: \"此选择包含多个验证。\",\r\n      FileNameError: '文件名不能包含像 \\\\ / : * 这样的字符？ \" < > [ ] |',\r\n      ValidationError: \"此值与为单元格定义的数据有效性限制不匹配。\",\r\n      ListLengthError: \"列表值最多只允许 256 个字符\",\r\n      ProtectSheet: \"保护表\",\r\n      UnprotectSheet: \"取消保护工作表\",\r\n      SelectCells: \"选择锁定的单元格\",\r\n      SelectUnlockedCells: \"选择解锁的单元格\",\r\n      Save: \"救\",\r\n      EmptyFileName: \"文件名不能为空。\",\r\n      LargeName: \"名称太长。\",\r\n      FormatCells: \"格式化单元格\",\r\n      FormatRows: \"格式化行\",\r\n      FormatColumns: \"格式化列\",\r\n      InsertLinks: \"插入链接\",\r\n      ProtectContent: \"保护锁定单元格的内容\",\r\n      ProtectAllowUser: \" 允许此工作表的所有用户：\",\r\n      EditAlert: \"您尝试更改的单元格受到保护。要进行更改，请取消保护工作表。\",\r\n      ClearValidation: \"清除验证\",\r\n      ISNUMBER: \"当值解析为数值时返回 true。\",\r\n      ROUND: \"将数字四舍五入到指定的位数。\",\r\n      GEOMEAN: \"返回数组或正数据范围的几何平均值。\",\r\n      POWER: \"返回一个数的幂的结果\",\r\n      LOG: \"返回数字的对数，以您指定的底数为底。\",\r\n      TRUNC: \"将数字的截断值返回到指定的小数位数。\",\r\n      EXP: \"返回 e 的给定数次方。\",\r\n      HighlightCellsRules: \"突出显示单元格规则\",\r\n      CFEqualTo: \"等于\",\r\n      TextThatContains: \"包含的文本\",\r\n      ADateOccuring: \"发生的日期\",\r\n      DuplicateValues: \"重复值\",\r\n      TopBottomRules: \"最高/最低规则\",\r\n      Top10Items: \"前 10 项\",\r\n      Top10: \"前10名\",\r\n      Bottom10Items: \"后 10 项\",\r\n      Bottom10: \"后 10 名\",\r\n      AboveAverage: \"高于平均水平\",\r\n      BelowAverage: \"低于平均水平\",\r\n      FormatCellsGreaterThan: \"格式化大于的单元格：\",\r\n      FormatCellsLessThan: \"格式化单元格小于：\",\r\n      FormatCellsBetween: \"格式化介于以下之间的单元格：\",\r\n      FormatCellsEqualTo: \"格式化单元格等于：\",\r\n      FormatCellsThatContainTheText: \"格式化包含文本的单元格：\",\r\n      FormatCellsThatContainADateOccurring: \"格式化包含发生日期的单元格：\",\r\n      FormatCellsDuplicate: \"格式化包含以下内容的单元格：\",\r\n      FormatCellsTop: \"格式化排在 TOP 的单元格：\",\r\n      FormatCellsBottom: \"格式化排在底部的单元格：\",\r\n      FormatCellsAbove: \"格式化高于平均水平的单元格：\",\r\n      FormatCellsBelow: \"格式化低于平均水平的单元格：\",\r\n      With: \"和\",\r\n      DataBars: \"数据条\",\r\n      ColorScales: \"色阶\",\r\n      IconSets: \"图标集\",\r\n      ClearRules: \"明确的规则\",\r\n      SelectedCells: \"清除所选单元格中的规则\",\r\n      EntireSheet: \"从整个工作表中清除规则\",\r\n      LightRedFillWithDarkRedText: \"淡红色填充深红色文字\",\r\n      YellowFillWithDarkYellowText: \"黄色填充深黄色文本\",\r\n      GreenFillWithDarkGreenText: \"绿色填充深绿色文字\",\r\n      RedFill: \"红色填充\",\r\n      RedText: \"红色文字\",\r\n      Duplicate: \"复制\",\r\n      Unique: \"独特\",\r\n      And: \"和\",\r\n      WebPage: \"网页\",\r\n      ThisDocument: \"这个文件\",\r\n      DisplayText: \"显示文字\",\r\n      Url: \"网址\",\r\n      CellReference: \"单元格引用\",\r\n      DefinedNames: \"定义名称\",\r\n      EnterTheTextToDisplay: \"输入要显示的文字\",\r\n      EnterTheUrl: \"输入网址\",\r\n      INT: \"将数字返回到最接近的整数。\",\r\n      SUMPRODUCT: \"返回给定数组范围的乘积之和。\",\r\n      TODAY: \"返回当前日期作为日期值。\",\r\n      ROUNDUP: \"将数字从零舍入。\",\r\n      Link: \"关联\",\r\n      Hyperlink: \"超级链接\",\r\n      EditHyperlink: \"编辑超链接\",\r\n      OpenHyperlink: \"打开超链接\",\r\n      RemoveHyperlink: \"删除超链接\",\r\n      InvalidHyperlinkAlert: \"该站点的地址无效。检查地址并重试。\",\r\n      InsertLink: \"插入链接\",\r\n      EditLink: \"编辑链接\",\r\n      WrapText: \"环绕文字\",\r\n      Update: \"更新\",\r\n      SortAndFilter: \"排序和过滤\",\r\n      Filter: \"筛选\",\r\n      FilterCellValue: \"按所选单元格的值过滤\",\r\n      FilterOutOfRangeError: \"选择已使用范围内的单元格或范围，然后重试。\",\r\n      ClearFilterFrom: \"清除过滤器自\",\r\n      LN: \"返回数字的自然对数。\",\r\n      DefineNameInValid: \"您输入的名称无效。\",\r\n      EmptyError: \"您必须输入一个值\",\r\n      ClearHighlight: \"清除突出显示\",\r\n      HighlightInvalidData: \"突出显示无效数据\",\r\n      Clear: \"清除\",\r\n      ClearContents: \"清除内容\",\r\n      ClearAll: \"全部清除\",\r\n      ClearFormats: \"清除格式\",\r\n      ClearHyperlinks: \"清除超链接\",\r\n      Image: \"图片\",\r\n      ConditionalFormatting: \"条件格式\",\r\n      BlueDataBar: \"蓝色数据栏\",\r\n      GreenDataBar: \"绿色数据栏\",\r\n      RedDataBar: \"红色数据条\",\r\n      OrangeDataBar: \"橙色数据栏\",\r\n      LightBlueDataBar: \"浅蓝色数据栏\",\r\n      PurpleDataBar: \"紫色数据栏\",\r\n      GYRColorScale: \"绿色 - 黄色 - 红色色标\",\r\n      RYGColorScale: \"红色 - 黄色 - 绿色色标\",\r\n      GWRColorScale: \"绿色 - 白色 - 红色色标\",\r\n      RWGColorScale: \"红色 - 白色 - 绿色色标\",\r\n      BWRColorScale: \"蓝色 - 白色 - 红色色标\",\r\n      RWBColorScale: \"红色 - 白色 - 蓝色色阶\",\r\n      WRColorScale: \"白色 - 红色色标\",\r\n      RWColorScale: \"红色 - 白色色标\",\r\n      GWColorScale: \"绿色 - 白色色标\",\r\n      WGColorScale: \"白色 - 绿色色标\",\r\n      GYColorScale: \"绿色 - 黄色色标\",\r\n      YGColorScale: \"黄色 - 绿色色标\",\r\n      ThreeArrowsColor: \"3支箭头（彩色）\",\r\n      ThreeArrowsGray: \"3支箭头（灰色）\",\r\n      ThreeTriangles: \"3个三角形\",\r\n      FourArrowsColor: \"4支箭头（灰色）\",\r\n      FourArrowsGray: \"4 支箭头（彩色）\",\r\n      FiveArrowsColor: \"5支箭头（灰色）\",\r\n      FiveArrowsGray: \"5支箭（彩色）\",\r\n      ThreeTrafficLights1: \"3 个交通灯（无边框）\",\r\n      ThreeTrafficLights2: \"3 个交通灯（镶边）\",\r\n      ThreeSigns: \"3 标志\",\r\n      FourTrafficLights: \"4个交通灯\",\r\n      RedToBlack: \"红变黑\",\r\n      ThreeSymbols1: \"3个符号（圆圈）\",\r\n      ThreeSymbols2: \"3个符号（未圈出）\",\r\n      ThreeFlags: \"3旗帜\",\r\n      ThreeStars: \"3星\",\r\n      FourRatings: \"4 个评分\",\r\n      FiveQuarters: \"5个宿舍\",\r\n      FiveRatings: \"5 个评分\",\r\n      FiveBoxes: \"5盒\",\r\n      Chart: \"图表\",\r\n      Column: \"柱子\",\r\n      Bar: \"酒吧\",\r\n      Area: \"区域\",\r\n      Pie: \"馅饼\",\r\n      Doughnut: \"油炸圈饼\",\r\n      PieAndDoughnut: \"馅饼/甜甜圈\",\r\n      Line: \"线\",\r\n      Radar: \"雷达\",\r\n      Scatter: \"分散\",\r\n      ChartDesign: \"图表设计\",\r\n      ClusteredColumn: \"簇状列\",\r\n      StackedColumn: \"堆积柱\",\r\n      StackedColumn100: \"100% 堆积柱\",\r\n      ClusteredBar: \"簇状条\",\r\n      StackedBar: \"堆积条\",\r\n      StackedBar100: \"100% 堆积条\",\r\n      StackedArea: \"堆积区\",\r\n      StackedArea100: \"100% 堆叠面积\",\r\n      StackedLine: \"堆积线\",\r\n      StackedLine100: \"100% 堆叠线\",\r\n      LineMarker: \"带标记的线\",\r\n      StackedLineMarker: \"带标记的堆叠线\",\r\n      StackedLine100Marker: \"带标记的 100% 堆叠线\",\r\n      AddChartElement: \"添加图表元素\",\r\n      Axes: \"轴\",\r\n      AxisTitle: \"轴标题\",\r\n      ChartTitle: \"图表标题\",\r\n      DataLabels: \"数据标签\",\r\n      Gridlines: \"网格线\",\r\n      Legends: \"传说\",\r\n      PrimaryHorizontal: \"小学水平\",\r\n      PrimaryVertical: \"初级垂直\",\r\n      None: \"没有任何\",\r\n      AboveChart: \"上图\",\r\n      Center: \"中心\",\r\n      InsideEnd: \"内端\",\r\n      InsideBase: \"内部基地\",\r\n      OutsideEnd: \"外端\",\r\n      PrimaryMajorHorizontal: \"初级专业水平\",\r\n      PrimaryMajorVertical: \"小学专业垂直\",\r\n      PrimaryMinorHorizontal: \"主要次要水平\",\r\n      PrimaryMinorVertical: \"主要次要垂直\",\r\n      Right: \"正确的\",\r\n      Left: \"剩下\",\r\n      Bottom: \"底部\",\r\n      Top: \"最佳\",\r\n      SwitchRowColumn: \"切换行/列\",\r\n      ChartTheme: \"图表主题\",\r\n      ChartType: \"图表类型\",\r\n      Material: \"材料\",\r\n      Fabric: \"织物\",\r\n      Bootstrap: \"引导程序\",\r\n      HighContrastLight: \"高对比灯\",\r\n      MaterialDark: \"材质深色\",\r\n      FabricDark: \"面料深色\",\r\n      HighContrast: \"高对比度\",\r\n      BootstrapDark: \"Bootstrap 深色\",\r\n      Bootstrap4: \"Bootstrap4\",\r\n      Bootstrap5Dark: \"Bootstrap5 深色\",\r\n      Bootstrap5: \"Bootstrap5\",\r\n      Tailwind: \"顺风\",\r\n      TailwindDark: \"顺风黑暗\",\r\n      VerticalAxisTitle: \"纵轴标题\",\r\n      HorizontalAxisTitle: \"横轴标题\",\r\n      EnterTitle: \"输入标题\",\r\n      UnprotectWorksheet: \"取消保护工作表\",\r\n      ReEnterPassword: \"重新输入密码以继续\",\r\n      SheetPassword: \"取消保护工作表的密码：\",\r\n      ProtectWorkbook: \"保护工作簿\",\r\n      Password: \"密码（可选）：\",\r\n      EnterThePassword: \"输入密码\",\r\n      ConfirmPassword: \"确认密码\",\r\n      EnterTheConfirmPassword: \"重新输入密码\",\r\n      PasswordAlert: \"确认密码不一致\",\r\n      UnprotectWorkbook: \"取消保护工作簿\",\r\n      UnprotectPasswordAlert: \"您提供的密码不正确。\",\r\n      IncorrectPassword: \"无法使用给定的密码打开文件或工作表\",\r\n      PasswordAlertMsg: \"请输入密码\",\r\n      ConfirmPasswordAlertMsg: \"请输入确认密码\",\r\n      IsProtected: \"受到保护\",\r\n      PDF: \"PDF文档\",\r\n      AutoFillMergeAlertMsg: \"为此，所有合并的单元格都需要具有相同的大小。\",\r\n      Fluent: \"流利\",\r\n      FluentDark: \"流利的黑暗\",\r\n      Custom: \"风俗\",\r\n      WEEKDAY: \"返回与日期对应的星期几。\",\r\n      FillSeries: \"填充系列\",\r\n      CopyCells: \"复制单元格\",\r\n      FillFormattingOnly: \"仅填充格式\",\r\n      FillWithoutFormatting: \"不带格式填充\",\r\n      CustomFormat: \"自定义数字格式\",\r\n      CustomFormatPlaceholder: \"键入或选择自定义格式\",\r\n      CustomFormatTypeList: \"类型\",\r\n      CellReferenceTypoError:\r\n        \"我们在您的单元格引用中发现了拼写错误。是否要按如下方式更正此引用？\",\r\n      AddCurrentSelection: \"将当前选择添加到过滤器\",\r\n      Directional: \"方向性\",\r\n      Shapes: \"形状\",\r\n      Indicators: \"指标\",\r\n      Ratings: \"评级\",\r\n      InvalidFormulaError: \"我们发现您输入的公式无效。\",\r\n      InvalidArguments: \"我们发现您输入的公式包含无效参数。\",\r\n      EmptyExpression: \"我们发现您输入的公式包含空表达式。\",\r\n      MismatchedParenthesis:\r\n        \"我们发现您键入的公式缺少一个或多个左括号或右括号。\",\r\n      ImproperFormula: \"我们发现您输入的公式不正确。\",\r\n      WrongNumberOfArguments: \"我们发现您输入的公式参数数量错误。\",\r\n      Requires3Arguments: \"我们发现您输入的公式需要 3 个参数。\",\r\n      MismatchedStringQuotes: \"我们发现您输入的公式的引号不匹配。\",\r\n      FormulaCircularRef: \"我们发现您输入的公式带有循环引用。\",\r\n      LOOKUP: \"查找一组行或列中的值\",\r\n      HLOOKUP: \"查找值表顶行中的值并返回与指定表行同一列中的值。\",\r\n      VLOOKUP: \"在搜索范围的第一列中搜索指定值。\",\r\n      NOT: \"返回指定布尔表达式的反数。\",\r\n      EOMONTH:\r\n        \"返回从指定的初始开始日期开始的指定月数之前和之后的月份的最后一天。\",\r\n      SQRT: \"返回正数的平方根。\",\r\n      ROUNDDOWN: \"将数字四舍五入为 0。\",\r\n      RSQ: \"返回基于数据点“known_y”和“known_x”的皮尔逊积矩相关系数的平方。\",\r\n      ExternalWorkbook: \"导入的 Excel 文件包含外部工作簿的链接。\",\r\n    },\r\n    filemanager: {\r\n      NewFolder: \"新建文件夹\",\r\n      Upload: \"上载\",\r\n      Delete: \"刪除\",\r\n      Rename: \"改名\",\r\n      Download: \"下载\",\r\n      Cut: \"切\",\r\n      Copy: \"复制\",\r\n      Paste: \"糊\",\r\n      SortBy: \"排序方式\",\r\n      Refresh: \"刷新\",\r\n      \"Item-Selection\": \"选择的项目\",\r\n      \"Items-Selection\": \"选择的项目\",\r\n      View: \"视图\",\r\n      Details: \"细节\",\r\n      SelectAll: \"全选\",\r\n      Open: \"打开\",\r\n      \"Tooltip-NewFolder\": \"新建文件夹\",\r\n      \"Tooltip-Upload\": \"上载\",\r\n      \"Tooltip-Delete\": \"刪除\",\r\n      \"Tooltip-Rename\": \"改名\",\r\n      \"Tooltip-Download\": \"下载\",\r\n      \"Tooltip-Cut\": \"切\",\r\n      \"Tooltip-Copy\": \"复制\",\r\n      \"Tooltip-Paste\": \"糊\",\r\n      \"Tooltip-SortBy\": \"排序方式\",\r\n      \"Tooltip-Refresh\": \"刷新\",\r\n      \"Tooltip-Selection\": \"清空选项\",\r\n      \"Tooltip-View\": \"视图\",\r\n      \"Tooltip-Details\": \"细节\",\r\n      \"Tooltip-SelectAll\": \"全选\",\r\n      Name: \"名称\",\r\n      Size: \"尺寸\",\r\n      DateModified: \"改性\",\r\n      DateCreated: \"创建日期\",\r\n      Path: \"路径\",\r\n      Modified: \"改性\",\r\n      Created: \"已建立\",\r\n      Location: \"位置\",\r\n      Type: \"类型\",\r\n      Permission: \"允许\",\r\n      Ascending: \"上升\",\r\n      Descending: \"降序\",\r\n      None: \"没有\",\r\n      \"View-LargeIcons\": \"大图标\",\r\n      \"View-Details\": \"细节\",\r\n      Search: \"搜索\",\r\n      \"Button-Ok\": \"好\",\r\n      \"Button-Cancel\": \"取消\",\r\n      \"Button-Yes\": \"是\",\r\n      \"Button-No\": \"没有\",\r\n      \"Button-Create\": \"创建\",\r\n      \"Button-Save\": \"保存\",\r\n      \"Header-NewFolder\": \"夹\",\r\n      \"Content-NewFolder\": \"输入您的文件夹名称\",\r\n      \"Header-Rename\": \"改名\",\r\n      \"Content-Rename\": \"输入你的新名字\",\r\n      \"Header-Rename-Confirmation\": \"重命名确认\",\r\n      \"Content-Rename-Confirmation\":\r\n        \"如果更改文件扩展名，文件可能會变得不稳定。您确定要更改吗？\",\r\n      \"Header-Delete\": \"刪除文件\",\r\n      \"Content-Delete\": \"您确定要刪除此文件吗？\",\r\n      \"Header-Folder-Delete\": \"刪除资料夹\",\r\n      \"Content-Folder-Delete\": \"您确定要刪除此文件夹吗？\",\r\n      \"Header-Multiple-Delete\": \"刪除多个文件\",\r\n      \"Content-Multiple-Delete\": \"您确定要刪除这些{0}文件吗？\",\r\n      \"Header-Duplicate\": \"文件/文件夹存在\",\r\n      \"Content-Duplicate\": \"{0}已经存在。您要重命名并粘贴吗？\",\r\n      \"Header-Upload\": \"上传文件\",\r\n      Error: \"错误\",\r\n      \"Validation-Empty\": \"文件或文件夹名称不能为空。\",\r\n      \"Validation-Invalid\":\r\n        \"文件或文件夹名称{0}包含无效字符。请使用其他名称。有效的文件或文件夹名称不能以点或空格结尾，并且不能包含以下任何字符：\\\\ /：*？“ <> |\",\r\n      \"Validation-NewFolder-Exists\": \"名称为{0}的文件或文件夹已存在。\",\r\n      \"Validation-Rename-Exists\": \"无法将{0}重命名为{1}：目标已经存在。\",\r\n      \"Folder-Empty\": \"这个文件夹是空的\",\r\n      \"File-Upload\": \"将文件拖到此处进行上传\",\r\n      \"Search-Empty\": \"未找到结果\",\r\n      \"Search-Key\": \"尝试使用其他关键字\",\r\n      \"Filter-Empty\": \"未找到结果\",\r\n      \"Filter-Key\": \"尝试使用其他过滤器\",\r\n      \"Sub-Folder-Error\": \"目标文件夹是源文件夹的子文件夹。\",\r\n      \"Same-Folder-Error\": \"目标文件夹与源文件夹相同。\",\r\n      \"Access-Denied\": \"拒绝访问\",\r\n      \"Access-Details\": \"您无权访问此文件夹。\",\r\n      \"Header-Retry\": \"文件已存在\",\r\n      \"Content-Retry\": \"该文件夹中已经存在具有该名称的文件。你想干什么？\",\r\n      \"Button-Keep-Both\": \"保留两个\",\r\n      \"Button-Replace\": \"更换\",\r\n      \"Button-Skip\": \"跳跃\",\r\n      \"ApplyAll-Label\": \"对所有当前项目执行此操作\",\r\n      KB: \"知识库\",\r\n      \"Access-Message\": \"{0}无法访问。您需要权限才能执行{1}操作。\",\r\n      \"Network-Error\": \"NetworkError：无法在XMLHTTP上发送请求：无法加载\",\r\n      \"Server-Error\": \"ServerError：来自的无效响应\",\r\n    },\r\n    calendar: {\r\n      today: \"今天\",\r\n    },\r\n    datepicker: {\r\n      today: \"今天\",\r\n      placeholder: \"选择一个日期\",\r\n    },\r\n    daterangepicker: {\r\n      placeholder: \"选择日期范围\",\r\n      startLabel: \"开始日期\",\r\n      endLabel: \"结束日期\",\r\n      applyText: \"应用\",\r\n      cancelText: \"取消\",\r\n      selectedDays: \"选定的日子\",\r\n      days: \"天\",\r\n      customRange: \"自订范围\",\r\n    },\r\n    timepicker: {\r\n      placeholder: \"选择一个时间\",\r\n    },\r\n    datetimepicker: {\r\n      today: \"今天\",\r\n      placeholder: \"选择日期和时间\",\r\n    },\r\n    dialog: {\r\n      close: \"关\",\r\n    },\r\n    toast: {\r\n      close: \"关\",\r\n    },\r\n    tab: {\r\n      closeButtonTitle: \"关\",\r\n    },\r\n    schedule: {\r\n      day: \"天\",\r\n      week: \"周\",\r\n      workWeek: \"工作周\",\r\n      month: \"月\",\r\n      year: \"年\",\r\n      agenda: \"议程\",\r\n      weekAgenda: \"周议程\",\r\n      workWeekAgenda: \"工作周议程\",\r\n      monthAgenda: \"月议程\",\r\n      today: \"今天\",\r\n      noEvents: \"没有事件\",\r\n      emptyContainer: \"这一天没有安排任何活动。\",\r\n      allDay: \"一整天\",\r\n      start: \"开始\",\r\n      end: \"结束\",\r\n      more: \"更多\",\r\n      close: \"关\",\r\n      cancel: \"取消\",\r\n      noTitle: \"（无题）\",\r\n      delete: \"删除\",\r\n      deleteEvent: \"删除事件\",\r\n      deleteMultipleEvent: \"刪除多个事件\",\r\n      selectedItems: \"选择的项目\",\r\n      deleteSeries: \"删除系列\",\r\n      edit: \"编辑\",\r\n      editSeries: \"编辑系列\",\r\n      editEvent: \"编辑事件\",\r\n      createEvent: \"创建\",\r\n      subject: \"学科\",\r\n      addTitle: \"添加标题\",\r\n      moreDetails: \"更多细节\",\r\n      save: \"保存\",\r\n      editContent: \"您想如何更改该系列中的约会？\",\r\n      deleteContent: \"你确定要删除这个事件？\",\r\n      deleteMultipleContent: \"您确定要刪除所选事件吗？\",\r\n      newEvent: \"新事件\",\r\n      title: \"标题\",\r\n      location: \"位置\",\r\n      description: \"描述\",\r\n      timezone: \"时区\",\r\n      startTimezone: \"启动时区\",\r\n      endTimezone: \"结束时区\",\r\n      repeat: \"重复\",\r\n      saveButton: \"保存\",\r\n      cancelButton: \"取消\",\r\n      deleteButton: \"删除\",\r\n      recurrence: \"循环\",\r\n      wrongPattern: \"重复发生模式无效。\",\r\n      seriesChangeAlert:\r\n        \"您是否要取消对此系列特定实例所做的更改，然后再次将其与整个系列匹配？\",\r\n      createError:\r\n        \"事件的持续时间必须短于其发生的頻率。缩短持续时间，或更改重复事件编辑器中的重复发生模式。\",\r\n      sameDayAlert: \"在同一天不能发生两次同一事件。\",\r\n      occurenceAlert:\r\n        \"如果它跳过同一约会的较晚发生，则无法重新安排定期约会的发生。\",\r\n      editRecurrence: \"编辑重复\",\r\n      repeats: \"重复\",\r\n      alert: \"警报\",\r\n      startEndError: \"选定的结束日期发生在开始日期之前。\",\r\n      invalidDateError: \"输入的日期值无效。\",\r\n      blockAlert: \"无法在阻止的时间范围內安排事件。\",\r\n      ok: \"好\",\r\n      yes: \"是\",\r\n      no: \"没有\",\r\n      occurrence: \"发生\",\r\n      series: \"系列\",\r\n      previous: \"以前\",\r\n      next: \"下一个\",\r\n      timelineDay: \"时间表日\",\r\n      timelineWeek: \"时间轴周\",\r\n      timelineWorkWeek: \"时间表工作周\",\r\n      timelineMonth: \"时间线月\",\r\n      timelineYear: \"时间轴年份\",\r\n      editFollowingEvent: \"后续活动\",\r\n      deleteTitle: \"刪除活动\",\r\n      editTitle: \"编辑活动\",\r\n      beginFrom: \"从开始\",\r\n      endAt: \"结束于\",\r\n      expandAllDaySection: \"展开全天部分\",\r\n      collapseAllDaySection: \"全天折叠部分\",\r\n      searchTimezone: \"搜索时区\",\r\n      noRecords: \"没有找到记录\",\r\n      deleteRecurrenceContent: \"你想只删除这个事件或整个系列？\",\r\n      recurrenceDateValidation:\r\n        \"有些月份比所选日期少。在这几个月中，事件将发生在该月的最后一个日期。\",\r\n    },\r\n    recurrenceeditor: {\r\n      none: \"没有\",\r\n      daily: \"日常\",\r\n      weekly: \"每周\",\r\n      monthly: \"每月一次\",\r\n      month: \"月\",\r\n      yearly: \"每年\",\r\n      never: \"决不\",\r\n      until: \"直到\",\r\n      count: \"计数\",\r\n      first: \"第一\",\r\n      second: \"第二\",\r\n      third: \"第三\",\r\n      fourth: \"第四\",\r\n      last: \"持续\",\r\n      repeat: \"重复\",\r\n      repeatEvery: \"重复每一个\",\r\n      on: \"重复\",\r\n      end: \"结束\",\r\n      onDay: \"天\",\r\n      days: \"天\",\r\n      weeks: \"周\",\r\n      months: \"月份\",\r\n      years: \"年份\",\r\n      every: \"每一个\",\r\n      summaryTimes: \"时\",\r\n      summaryOn: \"上\",\r\n      summaryUntil: \"直到\",\r\n      summaryRepeat: \"重复\",\r\n      summaryDay: \"天\",\r\n      summaryWeek: \"周\",\r\n      summaryMonth: \"个月\",\r\n      summaryYear: \"年份\",\r\n      monthWeek: \"月周\",\r\n      monthPosition: \"月份位置\",\r\n      monthExpander: \"月扩展器\",\r\n      yearExpander: \"年扩展器\",\r\n      repeatInterval: \"重复间隔\",\r\n    },\r\n    gantt: {\r\n      emptyRecord: \"无记录可显示\",\r\n      id: \"ID\",\r\n      name: \"名称\",\r\n      startDate: \"开始日期\",\r\n      endDate: \"结束日期\",\r\n      duration: \"持续时间\",\r\n      progress: \"进展\",\r\n      dependency: \"相依性\",\r\n      notes: \"笔记\",\r\n      baselineStartDate: \"基准开始日期\",\r\n      baselineEndDate: \"基准结束日期\",\r\n      taskMode: \"任务模式\",\r\n      changeScheduleMode: \"更改时间表模式\",\r\n      subTasksStartDate: \"子任务开始日期\",\r\n      subTasksEndDate: \"子任务结束日期\",\r\n      scheduleStartDate: \"计划开始日期\",\r\n      scheduleEndDate: \"计划结束日期\",\r\n      auto: \"汽车\",\r\n      manual: \"手册\",\r\n      type: \"类型\",\r\n      offset: \"偏移量\",\r\n      resourceName: \"资源资源\",\r\n      resourceID: \"资源ID\",\r\n      day: \"天\",\r\n      hour: \"小时\",\r\n      minute: \"分钟\",\r\n      days: \"天\",\r\n      hours: \"小时\",\r\n      minutes: \"分钟\",\r\n      generalTab: \"一般\",\r\n      customTab: \"自定义列\",\r\n      writeNotes: \"写笔记\",\r\n      addDialogTitle: \"新任务\",\r\n      editDialogTitle: \"任务信息\",\r\n      saveButton: \"保存\",\r\n      add: \"加\",\r\n      edit: \"编辑\",\r\n      update: \"更新资料\",\r\n      delete: \"刪除\",\r\n      cancel: \"取消\",\r\n      search: \"搜索\",\r\n      task: \" 任务\",\r\n      tasks: \" 任务\",\r\n      zoomIn: \"放大\",\r\n      zoomOut: \"缩小\",\r\n      zoomToFit: \"缩放以适合\",\r\n      excelExport: \"Excel导出\",\r\n      csvExport: \"CSV导出\",\r\n      expandAll: \"展开全部\",\r\n      collapseAll: \"全部收缩\",\r\n      nextTimeSpan: \"下一个时间跨度\",\r\n      prevTimeSpan: \"以前的时间跨度\",\r\n      okText: \"好\",\r\n      confirmDelete: \"您确定要刪除记录吗？\",\r\n      from: \"从\",\r\n      to: \"至\",\r\n      taskLink: \"任务连接\",\r\n      lag: \"落后\",\r\n      start: \"开始\",\r\n      finish: \"完\",\r\n      enterValue: \"输入值\",\r\n      taskBeforePredecessor_FS:\r\n        \"您将“ {0}”移到了“ {1}”完成并连接了两个任务之前开始。结果，这些连接不能被接受。在下面选择一项操作即可执行\",\r\n      taskAfterPredecessor_FS:\r\n        \"您将“ {0}”从“ {1}”移开，两个任务已连接。结果，这些连接不能被接受。在下面选择一项操作即可执行\",\r\n      taskBeforePredecessor_SS:\r\n        \"您将“ {0}”移到了“ {1}”启动之前，并且两个任务已连接。结果，这些连接不能被接受。在下面选择一项操作即可执行\",\r\n      taskAfterPredecessor_SS:\r\n        \"在启动“ {1}”之后，您将“ {0}”移至启动位置，并且两个任务已连接。结果，这些连接不能被接受。在下面选择一项操作即可执行\",\r\n      taskBeforePredecessor_FF:\r\n        \"您将“ {0}”移至“ {1}”完成之前已完成，并且两个任务已连接。结果，这些连接不能被接受。在下面选择一项操作即可执行\",\r\n      taskAfterPredecessor_FF:\r\n        \"在完成“ {1}”之后，您将“ {0}”移至完成，并且两个任务已连接。结果，这些连接不能被接受。在下面选择一项操作即可执行\",\r\n      taskBeforePredecessor_SF:\r\n        \"您将“ {0}”从“ {1}”移至开始，并且两个任务已连接。结果，这些连接不能被接受。在下面选择一项操作即可执行\",\r\n      taskAfterPredecessor_SF:\r\n        \"启动“ {1}”后，您将“ {0}”移至完成位置，并且两个任务已连接。结果，这些连接不能被接受。在下面选择一项操作即可执行\",\r\n      taskInformation: \"任务信息\",\r\n      deleteTask: \"刪除任务\",\r\n      deleteDependency: \"刪除依赖\",\r\n      convert: \"兑换\",\r\n      save: \"保存\",\r\n      above: \"以上\",\r\n      below: \"下面\",\r\n      child: \"儿童\",\r\n      milestone: \"里程碑\",\r\n      toTask: \"到任务\",\r\n      toMilestone: \"走向里程碑\",\r\n      eventMarkers: \"事件标记\",\r\n      leftTaskLabel: \"左任务标签\",\r\n      rightTaskLabel: \"正确的任务标签\",\r\n      timelineCell: \"时间轴单元\",\r\n      confirmPredecessorDelete: \"您确定要刪除依赖关系连接吗？\",\r\n      unit: \"单元\",\r\n      work: \"工作\",\r\n      taskType: \"任务类型\",\r\n      unassignedTask: \"未分配任务\",\r\n      group: \"组\",\r\n      indent: \"缩进\",\r\n      outdent: \"突出\",\r\n      segments: \"区隔\",\r\n      splitTask: \"拆分任务\",\r\n      mergeTask: \"合并任务\",\r\n      left: \"剩下\",\r\n      right: \"对\",\r\n    },\r\n    richtexteditor: {\r\n      alignments: \"对齐方式\",\r\n      justifyLeft: \"左对齐\",\r\n      justifyCenter: \"居中对齐\",\r\n      justifyRight: \"右对齐\",\r\n      justifyFull: \"对齐对齐\",\r\n      fontName: \"字体名称\",\r\n      fontSize: \"字体大小\",\r\n      fontColor: \"字体颜色\",\r\n      backgroundColor: \"背景颜色\",\r\n      bold: \"粗体\",\r\n      italic: \"斜体\",\r\n      underline: \"强调\",\r\n      strikethrough: \"刪除线\",\r\n      clearFormat: \"清除格式\",\r\n      clearAll: \"全部清除\",\r\n      cut: \"切\",\r\n      copy: \"复制\",\r\n      paste: \"糊\",\r\n      unorderedList: \"项目符号列表\",\r\n      orderedList: \"編号清单\",\r\n      indent: \"增加缩进\",\r\n      outdent: \"減少缩进\",\r\n      undo: \"撤消\",\r\n      redo: \"重做\",\r\n      superscript: \"上标\",\r\n      subscript: \"下标\",\r\n      createLink: \"插入超连接\",\r\n      openLink: \"打开连接\",\r\n      editLink: \"编辑连结\",\r\n      removeLink: \"刪除连接\",\r\n      image: \"插入图片\",\r\n      replace: \"更换\",\r\n      align: \"对齐\",\r\n      caption: \"图片说明\",\r\n      remove: \"去掉\",\r\n      insertLink: \"插入连结\",\r\n      display: \"显示\",\r\n      altText: \"替代文字\",\r\n      dimension: \"变更尺寸\",\r\n      fullscreen: \"最大化\",\r\n      maximize: \"最大化\",\r\n      minimize: \"最小化\",\r\n      lowerCase: \"小写\",\r\n      upperCase: \"大写\",\r\n      print: \"打印\",\r\n      formats: \"格式\",\r\n      sourcecode: \"代码查看\",\r\n      preview: \"预习\",\r\n      viewside: \"视面\",\r\n      insertCode: \"插入代码\",\r\n      linkText: \"显示文字\",\r\n      linkTooltipLabel: \"标题\",\r\n      linkWebUrl: \"网址\",\r\n      linkTitle: \"输入标题\",\r\n      linkurl: \"http://example.com\",\r\n      linkOpenInNewWindow: \"在新窗口中打开连接\",\r\n      linkHeader: \"插入连结\",\r\n      dialogInsert: \"插入\",\r\n      dialogCancel: \"取消\",\r\n      dialogUpdate: \"更新资料\",\r\n      imageHeader: \"插入图片\",\r\n      imageLinkHeader: \"您也可以提供网络连接\",\r\n      mdimageLink: \"请提供您图片的网址\",\r\n      imageUploadMessage: \"将图片放在此处或浏览以上传\",\r\n      imageDeviceUploadMessage: \"点击这里上传\",\r\n      imageAlternateText: \"替代文字\",\r\n      alternateHeader: \"替代文字\",\r\n      browse: \"浏览\",\r\n      imageUrl: \"http://example.com/image.png\",\r\n      imageCaption: \"标题\",\r\n      imageSizeHeader: \"图片尺寸\",\r\n      imageHeight: \"高度\",\r\n      imageWidth: \"宽度\",\r\n      textPlaceholder: \"输入文字\",\r\n      inserttablebtn: \"插入表格\",\r\n      tabledialogHeader: \"插入表格\",\r\n      tableWidth: \"宽度\",\r\n      cellpadding: \"单元填充\",\r\n      cellspacing: \"单元间距\",\r\n      columns: \"列数\",\r\n      rows: \"行数\",\r\n      tableRows: \"排\",\r\n      tableColumns: \"柱子\",\r\n      tableCellHorizontalAlign: \"表格单元格水平对齐\",\r\n      tableCellVerticalAlign: \"垂直对齐\",\r\n      createTable: \"建立表格\",\r\n      removeTable: \"刪除表\",\r\n      tableHeader: \"标题行\",\r\n      tableRemove: \"删除\",\r\n      tableCellBackground: \"表单元格背景\",\r\n      tableEditProperties: \"表格编辑属性\",\r\n      styles: \"款式\",\r\n      insertColumnLeft: \"向左插入列\",\r\n      insertColumnRight: \"向右插入列\",\r\n      deleteColumn: \"刪除栏\",\r\n      insertRowBefore: \"在之前插入行\",\r\n      insertRowAfter: \"在之后插入行\",\r\n      deleteRow: \"刪除行\",\r\n      tableEditHeader: \"编辑表格\",\r\n      TableHeadingText: \"标题\",\r\n      TableColText: \"上校\",\r\n      imageInsertLinkHeader: \"插入连结\",\r\n      editImageHeader: \"编辑影像\",\r\n      alignmentsDropDownLeft: \"左对齐\",\r\n      alignmentsDropDownCenter: \"居中对齐\",\r\n      alignmentsDropDownRight: \"右对齐\",\r\n      alignmentsDropDownJustify: \"对齐对齐\",\r\n      imageDisplayDropDownInline: \"排隊\",\r\n      imageDisplayDropDownBreak: \"打破\",\r\n      tableInsertRowDropDownBefore: \"在之前插入行\",\r\n      tableInsertRowDropDownAfter: \"在之后插入行\",\r\n      tableInsertRowDropDownDelete: \"刪除行\",\r\n      tableInsertColumnDropDownLeft: \"向左插入列\",\r\n      tableInsertColumnDropDownRight: \"向右插入列\",\r\n      tableInsertColumnDropDownDelete: \"刪除栏\",\r\n      tableVerticalAlignDropDownTop: \"对齐顶部\",\r\n      tableVerticalAlignDropDownMiddle: \"中间对齐\",\r\n      tableVerticalAlignDropDownBottom: \"底部对齐\",\r\n      tableStylesDropDownDashedBorder: \"虛线边框\",\r\n      tableStylesDropDownAlternateRows: \"交替行\",\r\n      pasteFormat: \"贴上格式\",\r\n      pasteFormatContent: \"选择格式化动作\",\r\n      plainText: \"纯文本\",\r\n      cleanFormat: \"清洁\",\r\n      keepFormat: \"保持\",\r\n      pasteDialogOk: \"好\",\r\n      pasteDialogCancel: \"取消\",\r\n      fileManager: \"文件管理器\",\r\n      fileDialogHeader: \"文件浏览器\",\r\n      formatsDropDownParagraph: \"段落\",\r\n      formatsDropDownCode: \"代码\",\r\n      formatsDropDownQuotation: \"引述\",\r\n      formatsDropDownHeading1: \"标题 1\",\r\n      formatsDropDownHeading2: \"标题 2\",\r\n      formatsDropDownHeading3: \"标题 3\",\r\n      formatsDropDownHeading4: \"标题 4\",\r\n      fontNameSegoeUI: \"SegoeUI\",\r\n      fontNameArial: \"Arial\",\r\n      fontNameGeorgia: \"Georgia\",\r\n      fontNameImpact: \"Impact\",\r\n      fontNameTahoma: \"Tahoma\",\r\n      fontNameTimesNewRoman: \"Times New Roman\",\r\n      fontNameVerdana: \"Verdana\",\r\n      formatsOLListNumber: \"数字\",\r\n      formatsOLListLowerAlpha: \"下阿尔法\",\r\n      formatsOLListUpperAlpha: \"上阿尔法\",\r\n      formatsOLListLowerRoman: \"下罗马\",\r\n      formatsOLListUpperRoman: \"上罗马\",\r\n      formatsOLListLowerGreek: \"下希腊语\",\r\n      formatsULListDisc: \"光盘\",\r\n      formatsULListCircle: \"圆圈\",\r\n      formatsULListSquare: \"正方形\",\r\n      formatsOLListNone: \"没有任何\",\r\n      formatsULListNone: \"没有任何\",\r\n      formatPainter: \"格式刷\",\r\n      emojiPicker: \"表情符号选择器\",\r\n      embeddedCode: \"嵌入代码\",\r\n      pasteEmbeddedCodeHere: \"将嵌入代码粘贴到此处\",\r\n      emojiPickerTypeToFind: \"键入以查找\",\r\n      emojiPickerNoResultFound: \"未找到结果\",\r\n      emojiPickerTrySomethingElse: \"尝试别的东西\",\r\n      linkAriaLabel: \"在新窗口中打开\",\r\n      ImageLinkAriaLabel: \"在新窗口中打开\",\r\n    },\r\n    colorpicker: {\r\n      Apply: \"应用\",\r\n      Cancel: \"取消\",\r\n      ModeSwitcher: \"切换模式\",\r\n    },\r\n    uploader: {\r\n      Browse: \"浏览...\",\r\n      Clear: \"明确\",\r\n      Upload: \"上载\",\r\n      dropFilesHint: \"或将文件放在此处\",\r\n      invalidMaxFileSize: \"档案太大\",\r\n      invalidMinFileSize: \"档案太小\",\r\n      invalidFileType: \"不允许的文件类型\",\r\n      uploadFailedMessage: \"文件上传失败\",\r\n      uploadSuccessMessage: \"文件上传成功\",\r\n      removedSuccessMessage: \"文件已成功刪除\",\r\n      removedFailedMessage: \"无法刪除文件\",\r\n      inProgress: \"上载中\",\r\n      readyToUploadMessage: \"准备上传\",\r\n      abort: \"中止\",\r\n      remove: \"去掉\",\r\n      cancel: \"取消\",\r\n      delete: \"刪除文件\",\r\n      pauseUpload: \"文件上传已暂停\",\r\n      pause: \"暂停\",\r\n      resume: \"恢复\",\r\n      retry: \"重试\",\r\n      fileUploadCancel: \"文件上传已取消\",\r\n    },\r\n    numerictextbox: {\r\n      incrementTitle: \"增量值\",\r\n      decrementTitle: \"減量值\",\r\n    },\r\n    slider: {\r\n      incrementTitle: \"增加\",\r\n      decrementTitle: \"減少\",\r\n    },\r\n    formValidator: {\r\n      required: \"这是必填栏。\",\r\n      email: \"请输入有效的电子邮件地址。\",\r\n      url: \"请输入有效网址。\",\r\n      date: \"请输入一个有效的日期。\",\r\n      dateIso: \"请输入有效日期（ISO）。\",\r\n      creditcard: \"请输入有效的卡号\",\r\n      number: \"请输入一个有效的数字。\",\r\n      digits: \"请只输入数字。\",\r\n      maxLength: \"请输入不超过{0}个字符。\",\r\n      minLength: \"请至少输入{0}个字符。\",\r\n      rangeLength: \"请输入一个介于{0}和{1}个字符之间的值。\",\r\n      range: \"请输入介于{0}和{1}之间的值。\",\r\n      max: \"请输入小于或等于{0}的值。\",\r\n      min: \"请输入一个大于或等于{0}的值。\",\r\n      regex: \"请输入正确的值。\",\r\n      tel: \"请输入一个有效的电话号码。\",\r\n      pattern: \"请输入正确的图案值。\",\r\n      equalTo: \"请输入有效的匹配文本\",\r\n    },\r\n    treegrid: {\r\n      Above: \"以上\",\r\n      Below: \"下面\",\r\n      AddRow: \"添加行\",\r\n      ExpandAll: \"展开全部\",\r\n      CollapseAll: \"全部收缩\",\r\n    },\r\n    querybuilder: {\r\n      StartsWith: \"以。。开始\",\r\n      EndsWith: \"以。。结束\",\r\n      Contains: \"包含\",\r\n      NotLike: \"包含\",\r\n      Like: \"不喜欢\",\r\n      Equal: \"等于\",\r\n      NotEqual: \"不平等\",\r\n      LessThan: \"少于\",\r\n      LessThanOrEqual: \"小于或等于\",\r\n      GreaterThan: \"比...更棒\",\r\n      GreaterThanOrEqual: \"大于等于\",\r\n      Between: \"之间\",\r\n      NotBetween: \"不介于\",\r\n      Empty: \"空的\",\r\n      NotEmpty: \"不是空的\",\r\n      In: \"在\",\r\n      NotIn: \"不在\",\r\n      NotContains: \"不包含\",\r\n      Remove: \"去掉\",\r\n      SelectField: \"选择一个领域\",\r\n      SelectOperator: \"选择运算符\",\r\n      DeleteRule: \"消除这种情況\",\r\n      DeleteGroup: \"刪除群组\",\r\n      AddGroup: \"新增群组\",\r\n      AddCondition: \"添加条件\",\r\n      Edit: \"编辑\",\r\n      ValidationMessage: \"这是必填栏\",\r\n      SummaryViewTitle: \"摘要视图\",\r\n      OtherFields: \"其他领域\",\r\n      AND: \"和\",\r\n      OR: \"要么\",\r\n      SelectValue: \"输入值\",\r\n      IsEmpty: \"是空的\",\r\n      IsNotEmpty: \"不为空\",\r\n      IsNull: \"一片空白\",\r\n      IsNotNull: \"不为空\",\r\n      True: \"真正\",\r\n      False: \"假\",\r\n    },\r\n    barcode: {},\r\n    datamatrix: {},\r\n    qrcode: {},\r\n    pivotview: {\r\n      grandTotal: \"累计\",\r\n      total: \"总\",\r\n      value: \"值\",\r\n      noValue: \"没有价值\",\r\n      row: \"行\",\r\n      column: \"柱\",\r\n      collapse: \"坍方\",\r\n      expand: \"扩大\",\r\n      rowAxisPrompt: \"在这里放行\",\r\n      columnAxisPrompt: \"将列放在此处\",\r\n      valueAxisPrompt: \"在这里放值\",\r\n      filterAxisPrompt: \"在此放置过滤器\",\r\n      filter: \"过滤\",\r\n      filtered: \"已过滤\",\r\n      sort: \"分类\",\r\n      filters: \"筛选器\",\r\n      rows: \"行数\",\r\n      columns: \"列\",\r\n      values: \"价值观\",\r\n      close: \"关\",\r\n      cancel: \"取消\",\r\n      delete: \"刪除\",\r\n      CalculatedField: \"计算场\",\r\n      createCalculatedField: \"创建计算字段\",\r\n      fieldName: \"输入字段名称\",\r\n      error: \"错误\",\r\n      invalidFormula: \"无效的公式。\",\r\n      dropText: \"例如：（'Sum（Order_Count）'+'Sum（In_Stock）'）* 250\",\r\n      dropTextMobile: \"在此处添加字段并编辑公式。\",\r\n      dropAction: \"计算字段不能放置在值轴以外的任何其他区域中。\",\r\n      alert: \"警报\",\r\n      warning: \"警告\",\r\n      ok: \"好\",\r\n      search: \"搜索\",\r\n      drag: \"拖动\",\r\n      remove: \"去掉\",\r\n      allFields: \"所有领域\",\r\n      formula: \"式\",\r\n      addToRow: \"添加到行\",\r\n      addToColumn: \"添加到列\",\r\n      addToValue: \"增值\",\r\n      addToFilter: \"添加到过滤器\",\r\n      emptyData: \"无记录可显示\",\r\n      fieldExist: \"此名称中已经存在一个字段。请输入其他名称。\",\r\n      confirmText: \"此名称中已经存在一个计算字段。您要更换吗？\",\r\n      noMatches: \"无匹配\",\r\n      format: \"汇总值\",\r\n      edit: \"编辑\",\r\n      clear: \"明确\",\r\n      formulaField: \"拖放字段到公式\",\r\n      dragField: \"将字段拖到公式\",\r\n      clearFilter: \"明确\",\r\n      by: \"通过\",\r\n      all: \"所有\",\r\n      multipleItems: \"多个项目\",\r\n      member: \"会员\",\r\n      label: \"标签\",\r\n      date: \"日期\",\r\n      enterValue: \"输入值\",\r\n      chooseDate: \"输入日期\",\r\n      Before: \"之前\",\r\n      BeforeOrEqualTo: \"之前或等于\",\r\n      After: \"后\",\r\n      AfterOrEqualTo: \"之后或等于\",\r\n      labelTextContent: \"显示带有标签的项目\",\r\n      dateTextContent: \"显示日期的项目\",\r\n      valueTextContent: \"显示哪些项目\",\r\n      Equals: \"等于\",\r\n      DoesNotEquals: \"不等于\",\r\n      BeginWith: \"开始于\",\r\n      DoesNotBeginWith: \"并非始于\",\r\n      EndsWith: \"以。。结束\",\r\n      DoesNotEndsWith: \"不以\",\r\n      Contains: \"包含\",\r\n      DoesNotContains: \"不含\",\r\n      GreaterThan: \"比...更棒\",\r\n      GreaterThanOrEqualTo: \"大于或等于\",\r\n      LessThan: \"少于\",\r\n      LessThanOrEqualTo: \"小于或等于\",\r\n      Between: \"之间\",\r\n      NotBetween: \"不介于\",\r\n      And: \"和\",\r\n      Sum: \"和\",\r\n      Count: \"计数\",\r\n      DistinctCount: \"不重复计数\",\r\n      Product: \"产品\",\r\n      Avg: \"平均\",\r\n      Min: \"敏\",\r\n      SampleVar: \"样本变量\",\r\n      PopulationVar: \"人口变量\",\r\n      RunningTotals: \"运行总计\",\r\n      Max: \"最高\",\r\n      Index: \"指数\",\r\n      SampleStDev: \"样本标准差\",\r\n      PopulationStDev: \"人口标准\",\r\n      PercentageOfRowTotal: \"行总数的百分比\",\r\n      PercentageOfParentTotal: \"占家长总数的百分比\",\r\n      PercentageOfParentColumnTotal: \"父栏总计的百分比\",\r\n      PercentageOfParentRowTotal: \"父行总数的百分比\",\r\n      DifferenceFrom: \"区別于\",\r\n      PercentageOfDifferenceFrom: \"相差百分比\",\r\n      PercentageOfGrandTotal: \"占总数的百分比\",\r\n      PercentageOfColumnTotal: \"占列总数的百分比\",\r\n      NotEquals: \"不等于\",\r\n      AllValues: \"所有值\",\r\n      conditionalFormating: \"条件格式\",\r\n      apply: \"应用\",\r\n      condition: \"添加条件\",\r\n      formatLabel: \"格式\",\r\n      valueFieldSettings: \"值字段设置\",\r\n      baseField: \"基本字段：\",\r\n      baseItem: \"基本项目：\",\r\n      summarizeValuesBy: \"通过以下方式汇总值：\",\r\n      sourceName: \"栏位名称：\",\r\n      sourceCaption: \"现场字幕：\",\r\n      example: \"例如：\",\r\n      editorDataLimitMsg: \" 更多项目。搜索以进一步完善。\",\r\n      details: \"细节\",\r\n      manageRecords: \"管理记录\",\r\n      Years: \"年份\",\r\n      Quarters: \"宿舍\",\r\n      Months: \"月数\",\r\n      Days: \"天\",\r\n      Hours: \"小时\",\r\n      Minutes: \"分钟\",\r\n      Seconds: \"秒\",\r\n      save: \"保存报告\",\r\n      new: \"创建一个新报告\",\r\n      load: \"加载\",\r\n      saveAs: \"另存为当前报告\",\r\n      rename: \"重命名当前报告\",\r\n      deleteReport: \"刪除当前报告\",\r\n      export: \"出口\",\r\n      subTotals: \"小计\",\r\n      grandTotals: \"总计\",\r\n      reportName: \"报告名称：\",\r\n      pdf: \"PDF格式\",\r\n      excel: \"电子表格\",\r\n      csv: \"CSV文件\",\r\n      png: \"PNG\",\r\n      jpeg: \"JPEG格式\",\r\n      svg: \"SVG\",\r\n      mdxQuery: \"MDX查询\",\r\n      showSubTotals: \"显示小计\",\r\n      doNotShowSubTotals: \"不显示总计\",\r\n      showSubTotalsRowsOnly: \"仅显示小计行\",\r\n      showSubTotalsColumnsOnly: \"仅显示小计列\",\r\n      showGrandTotals: \"显示总计\",\r\n      doNotShowGrandTotals: \"不显示总计\",\r\n      showGrandTotalsRowsOnly: \"仅显示总计行\",\r\n      showGrandTotalsColumnsOnly: \"仅显示总计列\",\r\n      fieldList: \"显示栏位清单\",\r\n      grid: \"显示表\",\r\n      toolbarFormatting: \"条件格式\",\r\n      chart: \"图表\",\r\n      reportMsg: \"请输入有效的报告名称！！！\",\r\n      reportList: \"报告清单\",\r\n      removeConfirm: \"您确定要刪除此报告吗？\",\r\n      emptyReport: \"找不到报告！\",\r\n      bar: \"酒吧\",\r\n      line: \"线\",\r\n      area: \"区域\",\r\n      scatter: \"分散\",\r\n      polar: \"极性\",\r\n      of: \"的\",\r\n      emptyFormat: \"找不到格式！！！\",\r\n      emptyInput: \"输入一个值\",\r\n      newReportConfirm: \"是否要保存更改以报告？\",\r\n      emptyReportName: \"输入报告名称\",\r\n      qtr: \"季度\",\r\n      null: \"空值\",\r\n      undefined: \"未定义\",\r\n      groupOutOfRange: \"超出范围\",\r\n      fieldDropErrorAction: \"您要移动的字段不能放置在报告的该区域中\",\r\n      MoreOption: \"更多...\",\r\n      aggregate: \"骨料\",\r\n      drillThrough: \"钻透\",\r\n      ascending: \"上升\",\r\n      descending: \"降序\",\r\n      number: \"数\",\r\n      currency: \"货币\",\r\n      percentage: \"百分比\",\r\n      formatType: \"格式类型\",\r\n      customText: \"货币符号\",\r\n      symbolPosition: \"符号位置\",\r\n      left: \"剩下\",\r\n      right: \"对\",\r\n      grouping: \"分组\",\r\n      true: \"真正\",\r\n      false: \"假\",\r\n      decimalPlaces: \"小数位数\",\r\n      numberFormat: \"数字格式\",\r\n      memberType: \"栏位类型\",\r\n      formatString: \"格式字符串\",\r\n      expressionField: \"表达\",\r\n      customFormat: \"输入自定义格式字符串\",\r\n      selectedHierarchy: \"家长阶层\",\r\n      olapDropText: \"例如：[度量]。[订单数量] +（[度量]。[订单数量] * 0.10）\",\r\n      Percent: \"百分\",\r\n      Custom: \"自订\",\r\n      Measure: \"测量\",\r\n      Dimension: \"尺寸\",\r\n      Standard: \"标准\",\r\n      blank: \"（空白）\",\r\n      fieldTooltip:\r\n        \"拖放字段以创建表达式。并且，如果要编辑现有的计算字段！然后，您只需选择“计算所得成員”下的字段即可实现。\",\r\n      QuarterYear: \"季度年\",\r\n      fieldTitle: \"栏位名称\",\r\n      drillError: \"无法显示计算字段的原始项目。\",\r\n      caption: \"现场字幕\",\r\n      copy: \"复制\",\r\n      defaultReport: \"默认报告\",\r\n      customFormatString: \"自订格式\",\r\n      invalidFormat: \"无效的格式。\",\r\n      group: \"组\",\r\n      unGroup: \"取消分组\",\r\n      invalidSelection: \"无法将该选择分组。\",\r\n      groupName: \"输入标题以显示在标题中\",\r\n      captionName: \"输入组标题\",\r\n      selectedItems: \"选定项目\",\r\n      groupFieldCaption: \"现场字幕\",\r\n      groupTitle: \"组的名字\",\r\n      startAt: \"开始于\",\r\n      endAt: \"结束于\",\r\n      groupBy: \"间隔时间\",\r\n      selectGroup: \"选择组\",\r\n      numberFormatString: \"示例：C，P，0000％，### 0。## 0＃等\",\r\n      stackingcolumn: \"堆积柱\",\r\n      stackingbar: \"疊杆\",\r\n      stackingarea: \"堆积面积\",\r\n      stepline: \"阶梯线\",\r\n      steparea: \"台阶面积\",\r\n      splinearea: \"花鍵面积\",\r\n      spline: \"花鍵\",\r\n      stackingcolumn100: \"100％堆积柱\",\r\n      stackingbar100: \"100％堆积酒吧\",\r\n      stackingarea100: \"100％堆积面积\",\r\n      bubble: \"气泡\",\r\n      pareto: \"帕累托\",\r\n      radar: \"雷达\",\r\n      chartTypeSettings: \"图表类型设置\",\r\n      multipleAxes: \"多轴\",\r\n      sortAscending: \"升序排序\",\r\n      sortDescending: \"降序排列\",\r\n      sortNone: \"排序数据顺序\",\r\n      clearCalculatedField: \"清除编辑的字段信息\",\r\n      editCalculatedField: \"编辑计算字段\",\r\n      ChartType: \"图表类型\",\r\n      yes: \"是\",\r\n      no: \"没有\",\r\n      numberFormatMenu: \"数字格式...\",\r\n      conditionalFormatingMenu: \"条件格式...\",\r\n      removeCalculatedField: \"您确定要刪除此计算字段吗？\",\r\n      replaceConfirmBefore: \"一份名为\",\r\n      replaceConfirmAfter: \" 已经存在。您要更换吗？\",\r\n      pie: \"馅饼\",\r\n      funnel: \"漏斗\",\r\n      doughnut: \"甜甜圈\",\r\n      pyramid: \"金字塔\",\r\n      showLegend: \"显示图例\",\r\n      exit: \"出口\",\r\n      invalidJSON: \"无效的JSON数据\",\r\n      invalidCSV: \"无效的CSV数据\",\r\n      stacked: \"堆叠式\",\r\n      single: \"单身的\",\r\n      multipleAxisMode: \"多轴模式\",\r\n      grandTotalPosition: \"总计位置\",\r\n      top: \"最佳\",\r\n      bottom: \"底部\",\r\n      None: \"没有任何\",\r\n      stackingline: \"叠线\",\r\n      stackingline100: \"100% 叠线\",\r\n      rowPage: \"行寻呼机\",\r\n      rowPerPage: \"每页行数\",\r\n      columnPage: \"列寻呼机\",\r\n      columnPerPage: \"每页列数\",\r\n      goToFirstPage: \"转到第一页\",\r\n      goToPreviousPage: \"转到上一页\",\r\n      goToNextPage: \"转到下一页\",\r\n      goToLastPage: \"转到最后一页\",\r\n      combined: \"联合\",\r\n      subTotalPosition: \"小计位置\",\r\n      auto: \"汽车\",\r\n    },\r\n    pivotfieldlist: {\r\n      staticFieldList: \"樞轴字段列表\",\r\n      fieldList: \"栏位清单\",\r\n      dropFilterPrompt: \"在此放置过滤器\",\r\n      dropColPrompt: \"将列放在此处\",\r\n      dropRowPrompt: \"在这里放行\",\r\n      dropValPrompt: \"在这里放值\",\r\n      addPrompt: \"在此处添加字段\",\r\n      adaptiveFieldHeader: \"选择栏位\",\r\n      centerHeader: \"在以下轴之间拖动字段：\",\r\n      add: \"加\",\r\n      drag: \"拖动\",\r\n      filter: \"过滤\",\r\n      filtered: \"已过滤\",\r\n      sort: \"分类\",\r\n      remove: \"去掉\",\r\n      filters: \"筛选器\",\r\n      rows: \"行数\",\r\n      columns: \"列\",\r\n      values: \"价值观\",\r\n      CalculatedField: \"计算场\",\r\n      createCalculatedField: \"创建计算字段\",\r\n      fieldName: \"输入字段名称\",\r\n      error: \"错误\",\r\n      invalidFormula: \"无效的公式。\",\r\n      dropText: \"例如：（'Sum（Order_Count）'+'Sum（In_Stock）''）* 250\",\r\n      dropTextMobile: \"在此处添加字段并编辑公式。\",\r\n      dropAction: \"计算字段不能放置在值轴以外的任何其他区域中。\",\r\n      search: \"搜索\",\r\n      close: \"关\",\r\n      cancel: \"取消\",\r\n      delete: \"刪除\",\r\n      alert: \"警报\",\r\n      warning: \"警告\",\r\n      ok: \"好\",\r\n      allFields: \"所有领域\",\r\n      formula: \"式\",\r\n      fieldExist: \"此名称中已经存在一个字段。请输入其他名称。\",\r\n      confirmText: \"此名称中已经存在一个计算字段。您要更换吗？\",\r\n      noMatches: \"无匹配\",\r\n      format: \"汇总值\",\r\n      edit: \"编辑\",\r\n      clear: \"明确\",\r\n      formulaField: \"拖放字段到公式\",\r\n      dragField: \"将字段拖到公式\",\r\n      clearFilter: \"明确\",\r\n      by: \"通过\",\r\n      enterValue: \"输入值\",\r\n      chooseDate: \"输入日期\",\r\n      all: \"所有\",\r\n      multipleItems: \"多个项目\",\r\n      Equals: \"等于\",\r\n      DoesNotEquals: \"不等于\",\r\n      BeginWith: \"开始于\",\r\n      DoesNotBeginWith: \"并非始于\",\r\n      EndsWith: \"以。。结束\",\r\n      DoesNotEndsWith: \"不以\",\r\n      Contains: \"包含\",\r\n      DoesNotContains: \"不含\",\r\n      GreaterThan: \"比...更棒\",\r\n      GreaterThanOrEqualTo: \"大于或等于\",\r\n      LessThan: \"少于\",\r\n      LessThanOrEqualTo: \"小于或等于\",\r\n      Between: \"之间\",\r\n      NotBetween: \"不介于\",\r\n      Before: \"之前\",\r\n      BeforeOrEqualTo: \"之前或等于\",\r\n      After: \"后\",\r\n      AfterOrEqualTo: \"之后或等于\",\r\n      member: \"会员\",\r\n      label: \"标签\",\r\n      date: \"日期\",\r\n      value: \"值\",\r\n      labelTextContent: \"显示带有标签的项目\",\r\n      dateTextContent: \"显示日期的项目\",\r\n      valueTextContent: \"显示哪些项目\",\r\n      And: \"和\",\r\n      Sum: \"和\",\r\n      Count: \"计数\",\r\n      DistinctCount: \"不重复计数\",\r\n      Product: \"产品\",\r\n      Avg: \"平均\",\r\n      Min: \"敏\",\r\n      Max: \"最高\",\r\n      Index: \"指数\",\r\n      SampleStDev: \"样本标准差\",\r\n      PopulationStDev: \"人口标准\",\r\n      SampleVar: \"样本变量\",\r\n      PopulationVar: \"人口变量\",\r\n      RunningTotals: \"运行总计\",\r\n      DifferenceFrom: \"区別于\",\r\n      PercentageOfDifferenceFrom: \"相差百分比\",\r\n      PercentageOfGrandTotal: \"占总数的百分比\",\r\n      PercentageOfColumnTotal: \"占列总数的百分比\",\r\n      PercentageOfRowTotal: \"行总数的百分比\",\r\n      PercentageOfParentTotal: \"占家长总数的百分比\",\r\n      PercentageOfParentColumnTotal: \"父栏总计的百分比\",\r\n      PercentageOfParentRowTotal: \"父行总数的百分比\",\r\n      Years: \"年份\",\r\n      Quarters: \"宿舍\",\r\n      Months: \"月数\",\r\n      Days: \"天\",\r\n      Hours: \"小时\",\r\n      Minutes: \"分钟\",\r\n      Seconds: \"秒\",\r\n      apply: \"应用\",\r\n      valueFieldSettings: \"值字段设置\",\r\n      sourceName: \"栏位名称：\",\r\n      sourceCaption: \"现场字幕：\",\r\n      summarizeValuesBy: \"通过以下方式汇总值：\",\r\n      baseField: \"基本字段：\",\r\n      baseItem: \"基本项目：\",\r\n      example: \"例如：\",\r\n      editorDataLimitMsg: \" 更多项目。搜索以进一步完善。\",\r\n      deferLayoutUpdate: \"延迟布局更新\",\r\n      null: \"空值\",\r\n      undefined: \"未定义\",\r\n      groupOutOfRange: \"超出范围\",\r\n      fieldDropErrorAction: \"您要移动的字段不能放置在报告的该区域中\",\r\n      MoreOption: \"更多...\",\r\n      memberType: \"栏位类型\",\r\n      selectedHierarchy: \"家长阶层\",\r\n      formatString: \"格式字符串\",\r\n      expressionField: \"表达\",\r\n      olapDropText: \"例如：[度量]。[订单数量] +（[度量]。[订单数量] * 0.10）\",\r\n      customFormat: \"输入自定义格式字符串\",\r\n      Measure: \"测量\",\r\n      Dimension: \"尺寸\",\r\n      Standard: \"标准\",\r\n      Currency: \"货币\",\r\n      Percent: \"百分\",\r\n      Custom: \"自订\",\r\n      blank: \"（空白）\",\r\n      fieldTooltip:\r\n        \"拖放字段以创建表达式。并且，如果要编辑现有的计算字段！您只需选择“计算所得成員”下的字段即可实现。\",\r\n      fieldTitle: \"栏位名称\",\r\n      QuarterYear: \"季度年\",\r\n      caption: \"现场字幕\",\r\n      copy: \"复制\",\r\n      group: \"组\",\r\n      numberFormatString: \"示例：C，P，0000％，### 0。## 0＃等\",\r\n      sortAscending: \"升序排序\",\r\n      sortDescending: \"降序排列\",\r\n      sortNone: \"排序数据顺序\",\r\n      clearCalculatedField: \"清除编辑的字段信息\",\r\n      editCalculatedField: \"编辑计算字段\",\r\n      selectGroup: \"选择组\",\r\n      of: \"的\",\r\n      removeCalculatedField: \"您确定要刪除此计算字段吗？\",\r\n      yes: \"是\",\r\n      no: \"没有\",\r\n      None: \"没有任何\",\r\n    },\r\n    pdfviewer: {\r\n      PdfViewer: \"PDF查看器\",\r\n      Cancel: \"取消\",\r\n      \"Download file\": \"下载文件\",\r\n      Download: \"下载\",\r\n      \"Enter Password\": \"本文档受密码保护。请输入密码。\",\r\n      \"File Corrupted\": \"文件损坏\",\r\n      \"File Corrupted Content\": \"该文件已损坏，无法打开。\",\r\n      \"Fit Page\": \"适合页面\",\r\n      \"Fit Width\": \"适合宽度\",\r\n      Automatic: \"自动\",\r\n      \"Go To First Page\": \"显示第一页\",\r\n      \"Invalid Password\": \"密码错误。请再试一遍。\",\r\n      \"Next Page\": \"显示下一页\",\r\n      OK: \"好的\",\r\n      Open: \"打开文件\",\r\n      \"Page Number\": \"当前页码\",\r\n      \"Previous Page\": \"显示上一页\",\r\n      \"Go To Last Page\": \"显示最后一页\",\r\n      Zoom: \"放大\",\r\n      \"Zoom In\": \"放大\",\r\n      \"Zoom Out\": \"缩小\",\r\n      \"Page Thumbnails\": \"页面缩略图\",\r\n      Bookmarks: \"书签\",\r\n      Print: \"打印文件\",\r\n      \"Password Protected\": \"需要密码\",\r\n      Copy: \"复制\",\r\n      \"Text Selection\": \"文字选择工具\",\r\n      Panning: \"平移模式\",\r\n      \"Text Search\": \"查找文字\",\r\n      \"Find in document\": \"在文件中尋找\",\r\n      \"Match case\": \"相符\",\r\n      Apply: \"应用\",\r\n      GoToPage: \"转到页面\",\r\n      \"No matches\": \"查看器已完成文档搜索。找不到更多匹配项\",\r\n      \"No Text Found\": \"找不到文字\",\r\n      Undo: \"撤消\",\r\n      Redo: \"重做\",\r\n      Annotation: \"添加或编辑注释\",\r\n      Highlight: \"突出显示文字\",\r\n      Underline: \"下划线文字\",\r\n      Strikethrough: \"刪除线文字\",\r\n      Delete: \"刪除注释\",\r\n      Opacity: \"不透明度\",\r\n      \"Color edit\": \"换颜色\",\r\n      \"Opacity edit\": \"更改不透明度\",\r\n      \"Highlight context\": \"突出\",\r\n      \"Underline context\": \"强调\",\r\n      \"Strikethrough context\": \"罢工\",\r\n      \"Server error\":\r\n        \"Web服务未监听。 PDF Viewer的所有功能都依赖于Web服务。请启动网络服务以继续。\",\r\n      \"Open text\": \"打开\",\r\n      \"First text\": \"第一页\",\r\n      \"Previous text\": \"上一页\",\r\n      \"Next text\": \"下一页\",\r\n      \"Last text\": \"最后一页\",\r\n      \"Zoom in text\": \"放大\",\r\n      \"Zoom out text\": \"缩小\",\r\n      \"Selection text\": \"选拔\",\r\n      \"Pan text\": \"泛\",\r\n      \"Print text\": \"打印\",\r\n      \"Search text\": \"搜索\",\r\n      \"Annotation Edit text\": \"编辑注释\",\r\n      \"Line Thickness\": \"线的粗细\",\r\n      \"Line Properties\": \"线属性\",\r\n      \"Start Arrow\": \"开始箭頭\",\r\n      \"End Arrow\": \"结束箭頭\",\r\n      \"Line Style\": \"线型\",\r\n      \"Fill Color\": \"填色\",\r\n      \"Line Color\": \"线色\",\r\n      None: \"没有\",\r\n      \"Open Arrow\": \"打开\",\r\n      \"Closed Arrow\": \"关閉\",\r\n      \"Round Arrow\": \"回合\",\r\n      \"Square Arrow\": \"廣场\",\r\n      \"Diamond Arrow\": \"钻石\",\r\n      Butt: \"屁股\",\r\n      Cut: \"切\",\r\n      Paste: \"糊\",\r\n      \"Delete Context\": \"刪除\",\r\n      Properties: \"物产\",\r\n      \"Add Stamp\": \"加盖邮票\",\r\n      \"Add Shapes\": \"添加形狀\",\r\n      \"Stroke edit\": \"更改笔触颜色\",\r\n      \"Change thickness\": \"更改边框厚度\",\r\n      \"Add line\": \"加线\",\r\n      \"Add arrow\": \"添加箭頭\",\r\n      \"Add rectangle\": \"添加矩形\",\r\n      \"Add circle\": \"添加圈子\",\r\n      \"Add polygon\": \"添加多边形\",\r\n      \"Add Comments\": \"添加评论\",\r\n      Comments: \"注释\",\r\n      \"No Comments Yet\": \"暂时没有评论\",\r\n      Accepted: \"公认\",\r\n      Completed: \"已完成\",\r\n      Cancelled: \"取消\",\r\n      Rejected: \"拒绝\",\r\n      \"Leader Length\": \"引线长度\",\r\n      \"Scale Ratio\": \"比例比\",\r\n      Calibrate: \"校准\",\r\n      \"Calibrate Distance\": \"校准距离\",\r\n      \"Calibrate Perimeter\": \"校准周长\",\r\n      \"Calibrate Area\": \"校准区域\",\r\n      \"Calibrate Radius\": \"校准半径\",\r\n      \"Calibrate Volume\": \"校准体积\",\r\n      highlight: \"强调\",\r\n      underline: \"强调\",\r\n      strikethrough: \"击穿\",\r\n      \"Seach text\": \"搜索\",\r\n      FormDesigner: \"添加和编辑表单域\",\r\n      \"Client error\":\r\n        \"发现客户端错误。请检查 AjaxRequestSettings 属性中提供的自定义标头和 ServerActionSettings 属性中的 Web 操作方法。\",\r\n      \"FormDesigner Edit text\": \"添加和编辑表单域\",\r\n      SubmitForm: \"提交表格\",\r\n      Depth: \"深度\",\r\n      Closed: \"关闭\",\r\n      Round: \"圆形的\",\r\n      Square: \"正方形\",\r\n      Diamond: \"钻石\",\r\n      Edit: \"编辑\",\r\n      Comment: \"评论\",\r\n      \"Comment Panel\": \"评论面板\",\r\n      \"Set Status\": \"设置状态\",\r\n      Post: \"邮政\",\r\n      Page: \"页\",\r\n      \"Add a comment\": \"添加评论\",\r\n      \"Add a reply\": \"添加回复\",\r\n      \"Import Annotations\": \"从JSON文件导入注释\",\r\n      \"Export Annotations\": \"将注释导出到JSON文件\",\r\n      \"Export XFDF\": \"将注释导出到XFDF文件\",\r\n      \"Import XFDF\": \"从XFDF文件导入注释\",\r\n      Add: \"添加\",\r\n      Clear: \"清除\",\r\n      Bold: \"大胆的\",\r\n      Italic: \"斜体\",\r\n      Strikethroughs: \"删除线\",\r\n      Underlines: \"强调\",\r\n      Superscript: \"上标\",\r\n      Subscript: \"下标\",\r\n      \"Align left\": \"左对齐\",\r\n      \"Align right\": \"左对齐\",\r\n      Center: \"中心\",\r\n      Justify: \"证明合法\",\r\n      \"Font color\": \"字体颜色\",\r\n      \"Text Align\": \"文本对齐\",\r\n      \"Text Properties\": \"字体样式\",\r\n      SignatureFieldDialogHeaderText: \"添加签名\",\r\n      HandwrittenSignatureDialogHeaderText: \"添加签名\",\r\n      InitialFieldDialogHeaderText: \"添加首字母\",\r\n      HandwrittenInitialDialogHeaderText: \"添加首字母\",\r\n      \"Draw Ink\": \"墨水\",\r\n      Create: \"创建\",\r\n      \"Font family\": \"字体系列\",\r\n      \"Font size\": \"字体大小\",\r\n      \"Free Text\": \"自由文本\",\r\n      \"Import Failed\": \"无效的JSON文件类型或文件名；请选择一个有效的JSON文件\",\r\n      \"File not found\": \"在所需位置找不到导入的JSON文件\",\r\n      \"Export Failed\": \"导出注释操作失败；请确保正确添加注释\",\r\n      of: \"的 \",\r\n      Dynamic: \"动态的\",\r\n      \"Standard Business\": \"标准业务\",\r\n      \"Sign Here\": \"在这里签名\",\r\n      \"Custom Stamp\": \"定制邮票\",\r\n      \"Enter Signature as Name\": \"输入你的名字\",\r\n      \"Draw-hand Signature\": \"画\",\r\n      \"Type Signature\": \"类型\",\r\n      \"Upload Signature\": \"上传\",\r\n      \"Browse Signature Image\": \"浏览\",\r\n      \"Save Signature\": \"保存签名\",\r\n      \"Save Initial\": \"保存初始\",\r\n      Textbox: \"文本框\",\r\n      Password: \"密码\",\r\n      \"Check Box\": \"复选框\",\r\n      \"Radio Button\": \"单选按钮\",\r\n      Dropdown: \"落下\",\r\n      \"List Box\": \"列表框\",\r\n      Signature: \"签名\",\r\n      \"Delete FormField\": \"删除表单域\",\r\n      \"Textbox Properties\": \"文本框属性\",\r\n      Name: \"姓名\",\r\n      Tooltip: \"工具提示\",\r\n      Value: \"价值\",\r\n      \"Form Field Visibility\": \"表单字段可见性\",\r\n      \"Read Only\": \"只读\",\r\n      Required: \"必需的\",\r\n      Checked: \"已检查\",\r\n      \"Show Printing\": \"展示印刷\",\r\n      Formatting: \"格式\",\r\n      Fill: \"充满\",\r\n      Border: \"边界\",\r\n      \"Border Color\": \"边框颜色\",\r\n      Thickness: \"厚度\",\r\n      \"Max Length\": \"最长长度\",\r\n      \"List Item\": \"项目名\",\r\n      \"Export Value\": \"项目价值\",\r\n      \"Dropdown Item List\": \"下拉项目列表\",\r\n      \"List Box Item List\": \"列表框项目列表\",\r\n      General: \"一般的\",\r\n      Appearance: \"外貌\",\r\n      Options: \"选项\",\r\n      \"Delete Item\": \"删除\",\r\n      Up: \"向上\",\r\n      Down: \"下\",\r\n      Multiline: \"多行\",\r\n      Revised: \"修改\",\r\n      Reviewed: \"已审核\",\r\n      Received: \"已收到\",\r\n      Confidential: \"机密的\",\r\n      Approved: \"得到正式认可的\",\r\n      \"Not Approved\": \"不批准\",\r\n      Witness: \"见证\",\r\n      \"Initial Here\": \"初始在这里\",\r\n      Draft: \"草稿\",\r\n      Final: \"最后\",\r\n      \"For Public Release\": \"公开发布\",\r\n      \"Not For Public Release\": \"不公开发布\",\r\n      \"For Comment\": \"征求意见\",\r\n      Void: \"空白\",\r\n      \"Preliminary Results\": \"初步结果\",\r\n      \"Information Only\": \"仅供参考\",\r\n      in: \"在\",\r\n      m: \"米\",\r\n      ft_in: \"ft_in\",\r\n      ft: \"英尺\",\r\n      p: \"p\",\r\n      cm: \"厘米\",\r\n      mm: \"毫米\",\r\n      pt: \"点\",\r\n      cu: \"铜\",\r\n      sq: \"平方米\",\r\n      Initial: \"最初的\",\r\n    },\r\n    diagram: {\r\n      Copy: \"复制\",\r\n      Cut: \"切\",\r\n      Paste: \"糊\",\r\n      Undo: \"撤消\",\r\n      Redo: \"重做\",\r\n      SelectAll: \"全选\",\r\n      Grouping: \"分组\",\r\n      Group: \"组\",\r\n      UnGroup: \"取消分组\",\r\n      Order: \"订購\",\r\n      BringToFront: \"向前走\",\r\n      MoveForward: \"前进\",\r\n      SendToBack: \"发送回\",\r\n      SendBackward: \"向后发送\",\r\n    },\r\n    \"inplace-editor\": {\r\n      save: \"保存\",\r\n      cancel: \"取消\",\r\n      loadingText: \"加载中...\",\r\n      editIcon: \"点击编辑\",\r\n      editAreaClick: \"点击编辑\",\r\n      editAreaDoubleClick: \"双击即可编辑\",\r\n    },\r\n    drawing: {},\r\n    \"drop-down-base\": {\r\n      noRecordsTemplate: \"没有找到记录\",\r\n      actionFailureTemplate: \"请求失败\",\r\n    },\r\n    chart: {\r\n      Zoom: \"放大\",\r\n      ZoomIn: \"放大\",\r\n      ZoomOut: \"缩小\",\r\n      Reset: \"重启\",\r\n      Pan: \"泛\",\r\n      ResetZoom: \"重设缩放\",\r\n    },\r\n    maps: {\r\n      Zoom: \"放大\",\r\n      ZoomIn: \"放大\",\r\n      ZoomOut: \"缩小\",\r\n      Reset: \"重启\",\r\n      Pan: \"泛\",\r\n      ResetZoom: \"重设缩放\",\r\n      ImageNotFound: \"图片未找到\",\r\n    },\r\n    \"drop-down-tree\": {\r\n      noRecordsTemplate: \"没有找到记录\",\r\n      actionFailureTemplate: \"请求失败\",\r\n      overflowCountTemplate: \"+ $ {count}更多..\",\r\n      totalCountTemplate: \"已选择$ {count}个\",\r\n    },\r\n    documenteditor: {\r\n      Table: \"表\",\r\n      Row: \"行\",\r\n      Cell: \"细胞\",\r\n      Ok: \"好\",\r\n      Cancel: \"取消\",\r\n      Size: \"尺寸\",\r\n      \"Preferred Width\": \"首选宽度\",\r\n      Points: \"积分\",\r\n      Percent: \"百分\",\r\n      \"Measure in\": \"量度\",\r\n      Alignment: \"结盟\",\r\n      Left: \"左边\",\r\n      Center: \"中心\",\r\n      Right: \"正确的\",\r\n      Justify: \"证明合法\",\r\n      \"Indent from left\": \"从左缩进\",\r\n      \"Borders and Shading\": \"边框和阴影\",\r\n      Options: \"选项\",\r\n      \"Specify height\": \"指定高度\",\r\n      \"At least\": \"至少\",\r\n      Exactly: \"确切地\",\r\n      \"Row height is\": \"行高为\",\r\n      \"Allow row to break across pages\": \"允许行跨页\",\r\n      \"Repeat as header row at the top of each page\":\r\n        \"在每页顶部重复作为标题行\",\r\n      \"Vertical alignment\": \"垂直对齐\",\r\n      Top: \"顶部\",\r\n      Bottom: \"底部\",\r\n      \"Default cell margins\": \"默认单元格边距\",\r\n      \"Default cell spacing\": \"默认单元格间距\",\r\n      \"Allow spacing between cells\": \"允许单元格之间的间距\",\r\n      \"Cell margins\": \"单元格边距\",\r\n      \"Same as the whole table\": \"和整张桌子一样\",\r\n      Borders: \"边框\",\r\n      None: \"没有任何\",\r\n      Style: \"风格\",\r\n      Width: \"宽度\",\r\n      Height: \"高度\",\r\n      Letter: \"信\",\r\n      Tabloid: \"小报\",\r\n      Legal: \"合法的\",\r\n      Statement: \"声明\",\r\n      Executive: \"管理人员\",\r\n      A3: \"A3\",\r\n      A4: \"A4\",\r\n      A5: \"A5\",\r\n      B4: \"B4\",\r\n      B5: \"B5\",\r\n      \"Custom Size\": \"自定义大小\",\r\n      \"Different odd and even\": \"奇偶不同\",\r\n      \"Different first page\": \"第一页不同\",\r\n      \"From edge\": \"从边缘\",\r\n      Header: \"标头\",\r\n      Footer: \"页脚\",\r\n      \"First Page Header\": \"第一页标题\",\r\n      \"First Page Footer\": \"首页页脚\",\r\n      \"Even Page Header\": \"偶数页眉\",\r\n      \"Even Page Footer\": \"偶数页脚\",\r\n      \"Odd Page Header\": \"奇数页眉\",\r\n      \"Odd Page Footer\": \"奇数页脚\",\r\n      \"Same as Previous\": \"与上一个相同\",\r\n      Section: \"部分\",\r\n      Margin: \"边距\",\r\n      Paper: \"纸\",\r\n      Layout: \"布局\",\r\n      Orientation: \"方向\",\r\n      Landscape: \"景观\",\r\n      Portrait: \"肖像\",\r\n      \"Show page numbers\": \"显示页码\",\r\n      \"Right align page numbers\": \"右对齐页码\",\r\n      Nothing: \"没有什么\",\r\n      \"Tab leader\": \"制表头\",\r\n      \"Show levels\": \"显示级别\",\r\n      \"Use hyperlinks instead of page numbers\": \"使用超链接而不是页码\",\r\n      \"Build table of contents from\": \"从中构建目录\",\r\n      Styles: \"样式\",\r\n      \"Available styles\": \"可用款式\",\r\n      \"TOC level\": \"TOC等级\",\r\n      Heading: \"标题\",\r\n      \"Heading 1\": \"标题 1\",\r\n      \"Heading 2\": \"标题 2\",\r\n      \"Heading 3\": \"标题 3\",\r\n      \"Heading 4\": \"标题 4\",\r\n      \"Heading 5\": \"标题 5\",\r\n      \"Heading 6\": \"标题 6\",\r\n      \"List Paragraph\": \"列出段落\",\r\n      Normal: \"普通的\",\r\n      \"Outline levels\": \"大纲级別\",\r\n      \"Table entry fields\": \"表格条目字段\",\r\n      Modify: \"调整\",\r\n      Color: \"颜色\",\r\n      Setting: \"环境\",\r\n      Box: \"盒子\",\r\n      All: \"全部\",\r\n      Custom: \"风俗\",\r\n      Preview: \"预览\",\r\n      Shading: \"底纹\",\r\n      Fill: \"充满\",\r\n      \"Apply To\": \"适用于\",\r\n      \"Table Properties\": \"表格属性\",\r\n      \"Cell Options\": \"单元选项\",\r\n      \"Table Options\": \"表格选项\",\r\n      \"Insert Table\": \"插入表格\",\r\n      \"Number of columns\": \"列数\",\r\n      \"Number of rows\": \"行数\",\r\n      \"Text to display\": \"要显示的文本\",\r\n      \"ScreenTip text\": \"屏幕提示文本\",\r\n      Address: \"地址\",\r\n      \"Insert Hyperlink\": \"插入超链接\",\r\n      \"Edit Hyperlink\": \"编辑超链接\",\r\n      Insert: \"插入\",\r\n      General: \"一般的\",\r\n      Indentation: \"缩进\",\r\n      \"Before text\": \"正文前\",\r\n      Special: \"特别的\",\r\n      \"First line\": \"第一行\",\r\n      Hanging: \"绞刑\",\r\n      \"After text\": \"文字后\",\r\n      By: \"经过\",\r\n      Before: \"前\",\r\n      \"Line Spacing\": \"行间距\",\r\n      After: \"后\",\r\n      At: \"在\",\r\n      Multiple: \"多种的\",\r\n      Spacing: \"间距\",\r\n      \"Define new Multilevel list\": \"定义新的多级列表\",\r\n      \"List level\": \"列表级别\",\r\n      \"Choose level to modify\": \"选择要修改的级别\",\r\n      Level: \"等级\",\r\n      \"Number format\": \"数字格式\",\r\n      \"Number style for this level\": \"此级别的数字样式\",\r\n      \"Enter formatting for number\": \"输入数字格式\",\r\n      \"Start at\": \"开始于\",\r\n      \"Restart list after\": \"之后重新启动列表\",\r\n      Position: \"位置\",\r\n      \"Text indent at\": \"文字缩进于\",\r\n      \"Aligned at\": \"对齐于\",\r\n      \"Follow number with\": \"关注号码\",\r\n      \"Tab character\": \"制表符\",\r\n      Space: \"空间\",\r\n      Arabic: \"阿拉伯\",\r\n      UpRoman: \"UpRoman\",\r\n      LowRoman: \"低罗马音\",\r\n      UpLetter: \"上信\",\r\n      LowLetter: \"低信\",\r\n      Number: \"数\",\r\n      \"Leading zero\": \"前导零\",\r\n      Bullet: \"子弹\",\r\n      Ordinal: \"序数\",\r\n      \"Ordinal Text\": \"序数文字\",\r\n      \"For East\": \"对于东\",\r\n      \"No Restart\": \"不重启\",\r\n      Font: \"字体\",\r\n      \"Font style\": \"字体样式\",\r\n      \"Underline style\": \"下划线样式\",\r\n      \"Font color\": \"字体颜色\",\r\n      Effects: \"效果\",\r\n      Strikethrough: \"删除线\",\r\n      Superscript: \"上标\",\r\n      Subscript: \"下标\",\r\n      \"Double strikethrough\": \"双删除线\",\r\n      Regular: \"常规的\",\r\n      Bold: \"大胆的\",\r\n      Italic: \"斜体\",\r\n      Cut: \"切\",\r\n      Copy: \"复制\",\r\n      Paste: \"粘贴\",\r\n      Hyperlink: \"超级链接\",\r\n      \"Open Hyperlink\": \"打开超链接\",\r\n      \"Copy Hyperlink\": \"复制超链接\",\r\n      \"Remove Hyperlink\": \"删除超链接\",\r\n      Paragraph: \"段落\",\r\n      \"Linked Style\": \"链接（段落和字符）\",\r\n      Character: \"特点\",\r\n      \"Merge Cells\": \"合并单元格\",\r\n      \"Insert Above\": \"在上方插入\",\r\n      \"Insert Below\": \"在下方插入\",\r\n      \"Insert Left\": \"向左插入\",\r\n      \"Insert Right\": \"右插入\",\r\n      Delete: \"删除\",\r\n      \"Delete Table\": \"删除表\",\r\n      \"Delete Row\": \"删除行\",\r\n      \"Delete Column\": \"删除列\",\r\n      \"File Name\": \"文件名\",\r\n      \"Format Type\": \"格式类型\",\r\n      Save: \"节省\",\r\n      Navigation: \"导航\",\r\n      Results: \"结果\",\r\n      Replace: \"代替\",\r\n      \"Replace All\": \"全部替换\",\r\n      \"We replaced all\": \"我们全部换掉\",\r\n      Find: \"寻找\",\r\n      \"No matches\": \"无匹配\",\r\n      \"All Done\": \"全做完了\",\r\n      Result: \"结果\",\r\n      of: \"的\",\r\n      instances: \"实例\",\r\n      with: \"和\",\r\n      \"Click to follow link\": \"点击跟随链接\",\r\n      \"Continue Numbering\": \"继续编号\",\r\n      \"Bookmark name\": \"书签名称\",\r\n      Close: \"关闭\",\r\n      \"Restart At\": \"重启时间\",\r\n      Properties: \"特性\",\r\n      Name: \"姓名\",\r\n      \"Style type\": \"款式类型\",\r\n      \"Style based on\": \"风格基于\",\r\n      \"Style for following paragraph\": \"以下段落的样式\",\r\n      Formatting: \"格式化\",\r\n      \"Numbering and Bullets\": \"编号和项目符号\",\r\n      Numbering: \"编号\",\r\n      \"Update Field\": \"更新字段\",\r\n      \"Edit Field\": \"编辑字段\",\r\n      Bookmark: \"书签\",\r\n      \"Page Setup\": \"页面设置\",\r\n      \"No bookmarks found\": \"找不到书签\",\r\n      \"Number format tooltip information\":\r\n        \"单级数字格式：</br>[PREFIX]%[LEVELNUMBER][SUFFIX]</br>例如，“第 %1 章”。 将显示编号如</br>第1章项目</br>第2章项目</br>... </br>第N章项目</br> </br>多级编号格式：</br>[ PREFIX]%[LEVELNUMBER][SUFFIX]+[PREFIX]%[LEVELNUMBER][SUFFIX]</br>例如，'%1.%2.' 将显示编号，如</br>1.1。 项目</br>1.2。 项目</br>…</br>1.N. 物品\",\r\n      Format: \"格式\",\r\n      \"Create New Style\": \"创造新风格\",\r\n      \"Modify Style\": \"修改样式\",\r\n      New: \"新的\",\r\n      Bullets: \"子弹\",\r\n      \"Use bookmarks\": \"使用书签\",\r\n      \"Table of Contents\": \"目录\",\r\n      AutoFit: \"自动调整\",\r\n      \"AutoFit to Contents\": \"自动适应内容\",\r\n      \"AutoFit to Window\": \"自动适应窗口\",\r\n      \"Fixed Column Width\": \"固定列宽\",\r\n      Reset: \"重置\",\r\n      \"Match case\": \"相符\",\r\n      \"Whole words\": \"整个单词\",\r\n      Add: \"添加\",\r\n      \"Go To\": \"去\",\r\n      \"Search for\": \"搜索\",\r\n      \"Replace with\": \"用。。。来代替\",\r\n      \"TOC 1\": \"目录1\",\r\n      \"TOC 2\": \"目录2\",\r\n      \"TOC 3\": \"目录3\",\r\n      \"TOC 4\": \"目录4\",\r\n      \"TOC 5\": \"目录5\",\r\n      \"TOC 6\": \"目录6\",\r\n      \"TOC 7\": \"目录7\",\r\n      \"TOC 8\": \"目录8\",\r\n      \"TOC 9\": \"目录9\",\r\n      \"Right-to-left\": \"右到左\",\r\n      \"Left-to-right\": \"左到右\",\r\n      Direction: \"方向\",\r\n      \"Table direction\": \"工作台方向\",\r\n      \"Indent from right\": \"从右缩进\",\r\n      \"Contextual Spacing\": \"不要在相同样式的段落之间添加空格\",\r\n      \"Password Mismatch\": \"密码不匹配\",\r\n      \"Restrict Editing\": \"限制编辑\",\r\n      \"Formatting restrictions\": \"格式限制\",\r\n      \"Allow formatting\": \"允许格式化\",\r\n      \"Editing restrictions\": \"编辑限制\",\r\n      \"Read only\": \"只读\",\r\n      \"Exceptions Optional\": \"例外情况（可选）\",\r\n      \"Select Part Of Document And User\":\r\n        \"选择文档的某些部分并选择允许自由编辑它们的用户。\",\r\n      Everyone: \"每个人\",\r\n      \"More users\": \"更多用户\",\r\n      \"Add Users\": \"添加用户\",\r\n      \"Enforcing Protection\": \"是，开始强制保护\",\r\n      \"Start Enforcing Protection\": \"开始加强保护\",\r\n      \"Enter User\": \"输入用户\",\r\n      Users: \"用户\",\r\n      \"Enter new password\": \"输入新密码\",\r\n      \"Reenter new password to confirm\": \"重新输入新密码以确认\",\r\n      \"Your permissions\": \"您的权限\",\r\n      \"Protected Document\": \"本文档受到保护，不会被无意编辑。\",\r\n      FormFieldsOnly: \"您只能在该地区填写表格。\",\r\n      CommentsOnly: \"您只能将评论插入该区域。\",\r\n      ReadOnlyProtection: \"您可以在此区域进行编辑。\",\r\n      \"Stop Protection\": \"停止保护\",\r\n      Password: \"密码\",\r\n      \"Spelling Editor\": \"拼写编辑器\",\r\n      Spelling: \"拼写\",\r\n      \"Spell Check\": \"拼写检查\",\r\n      \"Underline errors\": \"下划线错误\",\r\n      Ignore: \"忽略\",\r\n      \"Ignore All\": \"忽略所有\",\r\n      \"Add to Dictionary\": \"添加到词典\",\r\n      Change: \"改变\",\r\n      \"Change All\": \"全部更改\",\r\n      Suggestions: \"建议\",\r\n      \"The password is incorrect\": \"密码不正确\",\r\n      \"Error in establishing connection with web server\":\r\n        \"与网络服务器建立连接时出错\",\r\n      \"Highlight the regions I can edit\": \"突出显示我可以编辑的区域\",\r\n      \"Show All Regions I Can Edit\": \"显示我可以编辑的所有区域\",\r\n      \"Find Next Region I Can Edit\": \"查找我可以编辑的下一个区域\",\r\n      \"Keep source formatting\": \"保留源格式\",\r\n      \"Match destination formatting\": \"匹配目标格式\",\r\n      \"Text only\": \"纯文本\",\r\n      Comments: \"评论\",\r\n      \"Type your comment\": \"输入您的评论\",\r\n      Post: \"邮政\",\r\n      Reply: \"回复\",\r\n      \"New Comment\": \"新评论\",\r\n      Edit: \"编辑\",\r\n      Resolve: \"解决\",\r\n      Reopen: \"重开\",\r\n      \"No comments in this document\": \"本文档中无评论\",\r\n      more: \"更多\",\r\n      \"Type your comment here\": \"在此输入您的评论\",\r\n      \"Next Comment\": \"下一条评论\",\r\n      \"Previous Comment\": \"上一条评论\",\r\n      \"Un-posted comments\": \"未发表的评论\",\r\n      \"Discard Comment\": \"添加的评论未发布。 如果您继续，该评论将被丢弃。\",\r\n      Discard: \"丢弃\",\r\n      \"No Headings\": \"找不到标题！\",\r\n      \"Add Headings\": \"本文档没有标题。 请添加标题并重试。\",\r\n      \"More Options\": \"更多的选择\",\r\n      \"Click to see this comment\": \"点击查看此评论\",\r\n      \"Drop Down Form Field\": \"下拉表单域\",\r\n      \"Drop-down items\": \"下拉项\",\r\n      \"Items in drop-down list\": \"下拉列表中的项目\",\r\n      ADD: \"添加\",\r\n      REMOVE: \"消除\",\r\n      \"Field settings\": \"字段设置\",\r\n      Tooltip: \"工具提示\",\r\n      \"Drop-down enabled\": \"下拉已启用\",\r\n      \"Check Box Form Field\": \"复选框表单域\",\r\n      \"Check box size\": \"复选框大小\",\r\n      Auto: \"汽车\",\r\n      \"Default value\": \"默认值\",\r\n      \"Not checked\": \"未勾选\",\r\n      Checked: \"勾选\",\r\n      \"Check box enabled\": \"启用复选框\",\r\n      \"Text Form Field\": \"文本表单域\",\r\n      Type: \"类型\",\r\n      \"Default text\": \"默认文本\",\r\n      \"Maximum length\": \"最大长度\",\r\n      \"Text format\": \"文本格式\",\r\n      \"Fill-in enabled\": \"启用填充\",\r\n      \"Default number\": \"默认号码\",\r\n      \"Default date\": \"默认日期\",\r\n      \"Date format\": \"日期格式\",\r\n      \"Merge Track\": \"此操作不会标记为更改。 你想继续吗？\",\r\n      UnTrack: \"无法追踪\",\r\n      Accept: \"接受\",\r\n      Reject: \"拒绝\",\r\n      \"Previous Changes\": \"以前的变化\",\r\n      \"Next Changes\": \"接下来的变化\",\r\n      Inserted: \"已插入\",\r\n      Deleted: \"已删除\",\r\n      Changes: \"变化\",\r\n      \"Accept all\": \"全都接受\",\r\n      \"Reject all\": \"全部拒绝\",\r\n      \"No changes\": \"没有变化\",\r\n      \"Accept Changes\": \"接受更改\",\r\n      \"Reject Changes\": \"拒绝更改\",\r\n      User: \"用户\",\r\n      View: \"看法\",\r\n      Insertion: \"插入\",\r\n      Deletion: \"删除\",\r\n      \"All caps\": \"全部大写\",\r\n      \"This region is locked by\": \"该区域被锁定\",\r\n      Lock: \"锁\",\r\n      Unlock: \"开锁\",\r\n      \"Already locked\": \"所选区域或部分区域已被其他用户锁定\",\r\n      \"1, 2, 3, ...\": \"1、2、3，...\",\r\n      \"a, b, c, ...\": \"a，b，c，...\",\r\n      \"A, B, C, ...\": \"A，B，C，...\",\r\n      \"I, II, III, ...\": \"I，II，III，...\",\r\n      \"i, ii, iii, ...\": \"i，ii，iii，...\",\r\n      \"Text Form\": \"文本形式\",\r\n      \"Check Box\": \"复选框\",\r\n      DropDown: \"落下\",\r\n      \"Form Fields\": \"表单字段\",\r\n      \"Fillin enabled\": \"启用填充\",\r\n      \"Multiple Comment\": \"请发表你的评论\",\r\n      InsertFootnote: \"插入脚注\",\r\n      InsertEndnote: \"插入尾注\",\r\n      Footnote: \"脚注\",\r\n      Endnote: \"尾注\",\r\n      \"Click to View/Edit Footnote\": \"单击以查看/编辑脚注\",\r\n      \"Click to View/Edit Endnote\": \"单击以查看/编辑尾注\",\r\n      InsertAsRows: \"作为新行插入\",\r\n      InsertAsColumns: \"作为新列插入\",\r\n      OverwriteCells: \"覆盖单元格\",\r\n      NestTable: \"嵌套表\",\r\n      \"No suggestions\": \"没有建议\",\r\n      \"More Suggestion\": \"更多建议\",\r\n      \"Ignore Once\": \"忽略一次\",\r\n      \"Keep With Next\": \"继续下一步\",\r\n      \"Keep Lines Together\": \"保持线条在一起\",\r\n      WidowControl: \"寡妇/孤儿控制\",\r\n      \"Indents and Spacing\": \"缩进和间距\",\r\n      \"Line and Page Breaks\": \"换行符和分页符\",\r\n      Pagination: \"分页\",\r\n      Single: \"单身的\",\r\n      DashSmallGap: \"破折号小缺口\",\r\n      DashDot: \"点划线\",\r\n      Double: \"双倍的\",\r\n      ThinThickSmallGap: \"薄厚小间隙\",\r\n      ThickThinSmallGap: \"厚薄小间隙\",\r\n      ThickThinMediumGap: \"厚薄中等间隙\",\r\n      ThickThinLargeGap: \"厚薄大间隙\",\r\n      SingleWavy: \"单波浪\",\r\n      DoubleWavy: \"双波浪\",\r\n      Inset: \"插图\",\r\n      DashLargeGap: \"破折号大缺口\",\r\n      Dot: \"点\",\r\n      DashDotDot: \"点点滴滴\",\r\n      Triple: \"三倍\",\r\n      ThinThickThinSmallGap: \"薄厚薄小间隙\",\r\n      ThinThickThinMediumGap: \"薄厚薄中等间隙\",\r\n      ThinThickThinLargeGap: \"薄厚薄大间隙\",\r\n      DashDotStroked: \"DashDotStroked\",\r\n      Engrave3D: \"雕刻3D\",\r\n      Thick: \"厚的\",\r\n      Outset: \"一开始\",\r\n      Emboss3D: \"立体浮雕\",\r\n      ThinThickLargeGap: \"薄厚大间隙\",\r\n      ThinThickMediumGap: \"薄厚中等间隙\",\r\n      \"Number of rows must be between\": \"行数必须介于\",\r\n      \"Number of columns must be between\": \"列数必须介于\",\r\n      and: \"和\",\r\n      Unlimited: \"无限\",\r\n      \"Regular text\": \"常规文本\",\r\n      Date: \"日期\",\r\n      Uppercase: \"大写\",\r\n      Lowercase: \"小写\",\r\n      FirstCapital: \"首控\",\r\n      TitleCase: \"书架\",\r\n      \"Filling in forms\": \"填写表格\",\r\n      px: \"像素\",\r\n      \"Tracked changes\": \"跟踪更改\",\r\n      TrackChangesOnly: \"您可以在此区域中进行编辑，但所有更改都将被跟踪。\",\r\n      RemovedIgnore: \"你想删除忽略的异常吗？\",\r\n      RemovedIgnoreExceptions:\r\n        \"如果您在文档保护中进行此更改，Word 将忽略此文档中的所有异常。\",\r\n      Information: \"信息\",\r\n      Yes: \"是的\",\r\n      No: \"不\",\r\n      \"Page Break\": \"分页符\",\r\n      \"Column Break\": \"分栏符\",\r\n      \"Section Break Next Page\": \"分节符（下一页）\",\r\n      \"Section Break Continuous\": \"分节符（连续）\",\r\n      \"Unsupported format\": \"不支持您选择的文件格式。 请选择有效格式。\",\r\n      One: \"一\",\r\n      Two: \"二\",\r\n      Three: \"三\",\r\n      Presets: \"预设\",\r\n      Columns: \"列\",\r\n      \"Split your text into two or more columns\": \"将您的文本分成两列或更多列\",\r\n      \"Line between column\": \"列之间的线\",\r\n      \"Width and Spacing\": \"宽度和间距\",\r\n      \"Equal column width\": \"列宽相等\",\r\n      Column: \"柱子\",\r\n      \"Paste Content Dialog\":\r\n        \"由于浏览器的安全策略，从系统剪贴板粘贴是受限制的。\",\r\n      \"Paste CheckBox Content Dialog\": \"不再显示\",\r\n      \"The top/bottom margins are too large for the page height in some sections.\":\r\n        \"某些部分的顶部/底部边距对于页面高度来说太大。\",\r\n      \"Column width cannot be less than 36 pt.\": \"列宽不能小于 36 磅。\",\r\n      \"Left and right margins.\":\r\n        \"您为左右边距、列间距或段落缩进选择的设置对于同一部分中的页面宽度来说太大。\",\r\n      \"The address of this site is not valid. Check the address and try again.\":\r\n        \"该网站的地址无效。\",\r\n      \"Alt Text\": \"替代文本\",\r\n      Title: \"标题\",\r\n      Description: \"描述\",\r\n      \"Left and right margins\":\r\n        \"您为左右边距、列间距或段落缩进选择的设置对于同一部分中的页面宽度来说太大。\",\r\n      \"Number of rows must be between 1 and 32767.\":\r\n        \"行数必须介于 1 到 32767 之间。\",\r\n      \"Number of columns must be between 1 and 63.\":\r\n        \"列数必须介于 1 到 63 之间。\",\r\n      \"\": \"The top/bottom margins are too large for the page height in some sections.\",\r\n      \"You may format text only with certain styles\":\r\n        \"您只能使用某些样式来设置文本格式。\",\r\n      \"Ignore all\": \"忽略所有\",\r\n      Apply: \"缓慢而轻松\",\r\n      Decimal: \"第一个小数位\",\r\n      Bar: \"和一半\",\r\n      Leader: \"操作\",\r\n      Tab: \"逾期账户\",\r\n      BookMarkList: \"显示文档列表\",\r\n      TabMarkList: \"显示段落页\",\r\n      \"Tab stop position\": \"磁盘空间\",\r\n      \"Default tab stops\": \"卡丁车比赛太棒了。\",\r\n      \"Tab stops to be cleared\": \"补卡\",\r\n      Tabs: \"选项卡窗口\",\r\n      Set: \"使用\",\r\n      Clear: \"电话\",\r\n      \"Clear All\": \"删除所有内容\",\r\n      \"Move From\": \"S\",\r\n      \"Move To\": \"因为\",\r\n      \"Notes Options\": \"查看选项\",\r\n      \"Paste Content CheckBox\": \"他没有再出现。\",\r\n      \"Left Indent\": \"通讯行业\",\r\n      \"Right Indent\": \"正确路线\",\r\n      \"Hanging Indent\": \"每个人都有自己的角色\",\r\n      \"First Line Indent\": \"首先是弯曲线条。\",\r\n      \"Left Margin\": \"玉塔\",\r\n      \"Right Margin\": \"倾倒\",\r\n      \"Top Margin\": \"传感器\",\r\n      \"Bottom Margin\": \"演讲\",\r\n      \"Left Tab\": \"我在你耳边\",\r\n      \"Right Tab\": \"右耳\",\r\n      \"Center Tab\": \"中央屏幕\",\r\n      \"Decimal Tab\": \"死去的动物\",\r\n      \"Bar Tab\": \"卡米尔·B.\",\r\n      \"Move Table Column\": \"移动表中的列\",\r\n    },\r\n    documenteditorcontainer: {\r\n      New: \"新的\",\r\n      Open: \"打开\",\r\n      Undo: \"撤消\",\r\n      Redo: \"重做\",\r\n      Image: \"图像\",\r\n      Table: \"桌子\",\r\n      Link: \"关联\",\r\n      Bookmark: \"书签\",\r\n      \"Table of Contents\": \"目录\",\r\n      \"HEADING - - - - 1\": \"标题----1\",\r\n      \"HEADING - - - - 2\": \"标题----2\",\r\n      \"HEADING - - - - 3\": \"标题----3\",\r\n      Header: \"标头\",\r\n      Footer: \"页脚\",\r\n      \"Page Setup\": \"页面设置\",\r\n      \"Page Number\": \"页码\",\r\n      Break: \"休息\",\r\n      Find: \"寻找\",\r\n      \"Local Clipboard\": \"本地剪贴板\",\r\n      \"Restrict Editing\": \"限制编辑\",\r\n      \"Upload from computer\": \"从电脑上传\",\r\n      \"By URL\": \"通过网址\",\r\n      \"Page Break\": \"分页符\",\r\n      \"Section Break\": \"分节符\",\r\n      \"Header And Footer\": \"页眉页脚\",\r\n      Options: \"选项\",\r\n      Levels: \"关卡\",\r\n      \"Different First Page\": \"第一页不同\",\r\n      \"Different header and footer for odd and even pages\":\r\n        \"奇数页和偶数页的不同页眉和页脚。\",\r\n      \"Different Odd And Even Pages\": \"不同的奇偶页\",\r\n      \"Different header and footer for first page\": \"第一页的不同页眉和页脚。\",\r\n      Position: \"位置\",\r\n      \"Header from Top\": \"顶部标题\",\r\n      \"Footer from Bottom\": \"从底部开始的页脚\",\r\n      \"Distance from top of the page to top of the header\":\r\n        \"从页面顶部到页眉顶部的距离。\",\r\n      \"Distance from bottom of the page to bottom of the footer\":\r\n        \"从页面底部到页脚底部的距离。\",\r\n      \"Aspect ratio\": \"纵横比\",\r\n      W: \"W\",\r\n      H: \"H\",\r\n      Width: \"宽度\",\r\n      Height: \"高度\",\r\n      Text: \"文本\",\r\n      Paragraph: \"段落\",\r\n      Fill: \"充满\",\r\n      \"Fill color\": \"填色\",\r\n      \"Border Style\": \"边框样式\",\r\n      \"Outside borders\": \"境外\",\r\n      \"All borders\": \"所有边框\",\r\n      \"Inside borders\": \"内部边界\",\r\n      \"Left border\": \"左边框\",\r\n      \"Inside vertical border\": \"垂直边框内\",\r\n      \"Right border\": \"右边框\",\r\n      \"Top border\": \"上边框\",\r\n      \"Inside horizontal border\": \"水平边框内\",\r\n      \"Bottom border\": \"底边框\",\r\n      \"Border color\": \"边框颜色\",\r\n      \"Border width\": \"边框宽度\",\r\n      Cell: \"细胞\",\r\n      \"Merge cells\": \"合并单元格\",\r\n      \"Insert Or Delete\": \"插入/删除\",\r\n      \"Insert columns to the left\": \"在左侧插入列\",\r\n      \"Insert columns to the right\": \"在右侧插入列\",\r\n      \"Insert rows above\": \"在上面插入行\",\r\n      \"Insert rows below\": \"在下方插入行\",\r\n      \"Delete rows\": \"删除行\",\r\n      \"Delete columns\": \"删除列\",\r\n      \"Cell Margin\": \"单元边距\",\r\n      Top: \"顶部\",\r\n      Bottom: \"底部\",\r\n      Left: \"左边\",\r\n      Right: \"正确的\",\r\n      \"Align Text\": \"对齐文本\",\r\n      \"Align top\": \"对齐顶部\",\r\n      \"Align bottom\": \"对齐底部\",\r\n      \"Align center\": \"居中对齐\",\r\n      \"Number of heading or outline levels to be shown in table of contents\":\r\n        \"要在目录中显示的标题或大纲级别数。\",\r\n      \"Show page numbers\": \"显示页码\",\r\n      \"Show page numbers in table of contents\": \"在目录中显示页码。\",\r\n      \"Right align page numbers\": \"右对齐页码\",\r\n      \"Right align page numbers in table of contents\": \"右对齐目录中的页码。\",\r\n      \"Use hyperlinks\": \"使用超链接\",\r\n      \"Use hyperlinks instead of page numbers\": \"使用超链接而不是页码。\",\r\n      Font: \"字体\",\r\n      \"Font Size\": \"字体大小\",\r\n      \"Font color\": \"字体颜色\",\r\n      \"Text highlight color\": \"文字高亮颜色\",\r\n      \"Clear all formatting\": \"清除所有格式\",\r\n      \"Bold Tooltip\": \"粗体 (Ctrl+B)\",\r\n      \"Italic Tooltip\": \"斜体 (Ctrl+I)\",\r\n      \"Underline Tooltip\": \"下划线 (Ctrl+U)\",\r\n      Strikethrough: \"删除线\",\r\n      \"Superscript Tooltip\": \"上标 (Ctrl+Shift++)\",\r\n      \"Subscript Tooltip\": \"下标 (Ctrl+=)\",\r\n      \"Align left Tooltip\": \"左对齐 (Ctrl+L)\",\r\n      \"Center Tooltip\": \"居中 (Ctrl+E)\",\r\n      \"Align right Tooltip\": \"右对齐 (Ctrl+R)\",\r\n      \"Justify Tooltip\": \"对齐 (Ctrl+J)\",\r\n      \"Decrease indent\": \"減少缩进\",\r\n      \"Increase indent\": \"增加缩进\",\r\n      \"Line spacing\": \"行间距\",\r\n      Bullets: \"子弹\",\r\n      Numbering: \"编号\",\r\n      Styles: \"样式\",\r\n      \"Manage Styles\": \"管理样式\",\r\n      Page: \"页\",\r\n      of: \"的\",\r\n      \"Fit one page\": \"适合一页\",\r\n      \"Spell Check\": \"拼写检查\",\r\n      \"Underline errors\": \"下划线错误\",\r\n      \"Fit page width\": \"适合页面宽度\",\r\n      Update: \"更新\",\r\n      Cancel: \"取消\",\r\n      Insert: \"插入\",\r\n      \"No Border\": \"无边界\",\r\n      \"Create a new document\": \"创建一个新文档。\",\r\n      \"Open a document\": \"打开文档。\",\r\n      \"Undo Tooltip\": \"撤消上一个操作 (Ctrl+Z)。\",\r\n      \"Redo Tooltip\": \"重做上次操作 (Ctrl+Y)。\",\r\n      \"Insert inline picture from a file\": \"从文件中插入内联图片。\",\r\n      \"Insert a table into the document\": \"在文档中插入表格\",\r\n      \"Create Hyperlink\": \"在文档中创建链接以快速访问网页和文件 (Ctrl+K)。\",\r\n      \"Insert a bookmark in a specific place in this document\":\r\n        \"在此文档的特定位置插入书签。\",\r\n      \"Provide an overview of your document by adding a table of contents\":\r\n        \"通过添加目录提供文档的概述。\",\r\n      \"Add or edit the header\": \"添加或编辑标题。\",\r\n      \"Add or edit the footer\": \"添加或编辑页脚。\",\r\n      \"Open the page setup dialog\": \"打开页面设置对话框。\",\r\n      \"Add page numbers\": \"添加页码。\",\r\n      \"Find Text\": \"在文档中查找文本 (Ctrl+F)。\",\r\n      \"Toggle between the internal clipboard and system clipboard\":\r\n        \"在内部剪贴板和系统剪贴板之间切换。</br>由于浏览器安全策略，拒绝通过脚本访问系统剪贴板。 相反，</br> 1. 您可以启用内部剪贴板以在组件内剪切、复制和粘贴。</br> 2. 您可以使用键盘快捷键（Ctrl+X、Ctrl+C 和 Ctrl+V）来剪切 , 使用系统剪贴板复制和粘贴。\",\r\n      \"Current Page Number\": \"文档中的当前页码。 单击或点击以导航特定页面。\",\r\n      \"Read only\": \"只读\",\r\n      Protections: \"保护措施\",\r\n      \"Error in establishing connection with web server\":\r\n        \"与网络服务器建立连接时出错\",\r\n      Single: \"单身的\",\r\n      Double: \"双倍的\",\r\n      \"New comment\": \"新评论\",\r\n      Comments: \"评论\",\r\n      \"Print layout\": \"打印布局\",\r\n      \"Web layout\": \"网页布局\",\r\n      \"Text Form\": \"文本形式\",\r\n      \"Check Box\": \"复选框\",\r\n      DropDown: \"落下\",\r\n      \"Update Fields\": \"更新字段\",\r\n      \"Update cross reference fields\": \"更新交叉引用字段\",\r\n      \"Hide properties pane\": \"隐藏属性面板\",\r\n      \"Show properties pane\": \"显示属性面板\",\r\n      \"Form Fields\": \"表单字段\",\r\n      \"Track Changes\": \"跟踪文档中所做的更改\",\r\n      TrackChanges: \"跟踪变化\",\r\n      AllCaps: \"全大写\",\r\n      \"Change case Tooltip\": \"改变大小写\",\r\n      \"Insert Footnote\": \"插入脚注\",\r\n      \"Insert Endnote\": \"插入尾注\",\r\n      \"Footnote Tooltip\": \"插入脚注 (Alt+Ctrl+F)。\",\r\n      \"Endnote Tooltip\": \"插入尾注 (Alt+Ctrl+D)。\",\r\n      UPPERCASE: \"大写字母\",\r\n      \"No color\": \"没有颜色\",\r\n      \"Top margin\": \"上边距\",\r\n      \"Bottom margin\": \"下边距\",\r\n      \"Left margin\": \"左边距\",\r\n      \"Right margin\": \"右边距\",\r\n      Normal: \"普通的\",\r\n      Heading: \"标题\",\r\n      \"Heading 1\": \"标题 1\",\r\n      \"Heading 2\": \"标题 2\",\r\n      \"Heading 3\": \"标题 3\",\r\n      \"Heading 4\": \"标题 4\",\r\n      \"Heading 5\": \"标题 5\",\r\n      \"Heading 6\": \"标题 6\",\r\n      ZoomLevelTooltip: \"缩放级别。 单击或点击以打开“缩放”选项。\",\r\n      None: \"没有任何\",\r\n      Borders: \"边框\",\r\n      \"ShowHiddenMarks Tooltip\":\r\n        \"显示隐藏的字符，如空格、制表符、段落标记和换行符。(Ctrl + *)\",\r\n      Columns: \"列\",\r\n      \"Column Break\": \"分栏符\",\r\n      \"Alternate Text\": \"替代文本\",\r\n      \"The address of this site is not valid. Check the address and try again.\":\r\n        \"该网站的地址无效。\",\r\n      OK: \"好的\",\r\n      Information: \"信息\",\r\n      Spelling: \"用户\",\r\n      \"Link to Previous\": \"上一个链接\",\r\n      \"Link to PreviousTooltip\": \"将此部分链接到上一部分的页眉或页脚。\",\r\n      \"Page Breaks\": \"在页面底部\",\r\n      \"Section Breaks\": \"这片区域被占领了。\",\r\n      Column: \"分享\",\r\n      \"Next Page\": \"另一张脸\",\r\n      Continuous: \"工作\",\r\n    },\r\n    carousel: {\r\n      nextSlide: \"下一张幻灯片\",\r\n      of: \"的\",\r\n      pauseSlideTransition: \"暂停幻灯片过渡\",\r\n      playSlideTransition: \"播放幻灯片过渡\",\r\n      previousSlide: \"上一张幻灯片\",\r\n      slide: \"滑动\",\r\n      slideShow: \"幻灯片放映\",\r\n    },\r\n    message: {\r\n      close: \"关\",\r\n    },\r\n    \"image-editor\": {\r\n      \"0\": \"0%\",\r\n      \"1\": \"1\",\r\n      \"2\": \"2\",\r\n      \"3\": \"3\",\r\n      \"4\": \"4\",\r\n      \"5\": \"5\",\r\n      \"20\": \"20%\",\r\n      \"40\": \"40%\",\r\n      \"60\": \"60%\",\r\n      \"80\": \"80%\",\r\n      \"100\": \"100%\",\r\n      Crop: \"庄稼\",\r\n      CropAndTransform: \"裁剪和变换\",\r\n      ZoomIn: \"放大\",\r\n      ZoomOut: \"缩小\",\r\n      Undo: \"撤消\",\r\n      Redo: \"重做\",\r\n      Transform: \"转换\",\r\n      Annotation: \"注解\",\r\n      Finetune: \"微调\",\r\n      Brightness: \"亮度\",\r\n      Contrast: \"对比\",\r\n      Hue: \"色调\",\r\n      Saturation: \"饱和\",\r\n      Opacity: \"不透明度\",\r\n      Blur: \"模糊\",\r\n      Sharpen: \"锐化\",\r\n      Exposure: \"接触\",\r\n      Filter: \"筛选\",\r\n      Default: \"默认\",\r\n      Chrome: \"铬合金\",\r\n      Cold: \"寒冷的\",\r\n      Warm: \"温暖的\",\r\n      Grayscale: \"灰度\",\r\n      BlackAndWhite: \"黑与白\",\r\n      Sepia: \"棕褐色\",\r\n      Invert: \"倒置\",\r\n      Text: \"添加文字\",\r\n      Pen: \"笔\",\r\n      Reset: \"重置\",\r\n      Save: \"节省\",\r\n      Select: \"选择\",\r\n      RotateLeft: \"向左旋转\",\r\n      RotateRight: \"右旋\",\r\n      HorizontalFlip: \"水平翻转\",\r\n      VerticalFlip: \"垂直翻转\",\r\n      OK: \"好的\",\r\n      Cancel: \"取消\",\r\n      FillColor: \"填色\",\r\n      StrokeColor: \"描边颜色\",\r\n      StrokeWidth: \"笔划宽度\",\r\n      FontFamily: \"字体系列\",\r\n      FontStyle: \"字体样式\",\r\n      FontSize: \"字体大小\",\r\n      FontColor: \"字体颜色\",\r\n      Pan: \"平底锅\",\r\n      Move: \"移动\",\r\n      Load: \"加载\",\r\n      Custom: \"风俗\",\r\n      Square: \"正方形\",\r\n      Circle: \"圆圈\",\r\n      Ellipse: \"椭圆\",\r\n      Rectangle: \"长方形\",\r\n      Line: \"线\",\r\n      Arrow: \"箭\",\r\n      Path: \"小路\",\r\n      Bold: \"大胆的\",\r\n      Italic: \"斜体\",\r\n      BoldItalic: \"加粗斜体\",\r\n      XSmall: \"X 小号\",\r\n      Small: \"小的\",\r\n      Medium: \"中等的\",\r\n      Large: \"大的\",\r\n      XLarge: \"XL 号\",\r\n      ABC: \"ABC\",\r\n      Browse: \"浏览\",\r\n      Duplicate: \"复制\",\r\n      Remove: \"消除\",\r\n      EditText: \"编辑文本\",\r\n      Start: \"开始\",\r\n      End: \"结尾\",\r\n      Bar: \"酒吧\",\r\n      ArrowSolid: \"实心箭头\",\r\n      CircleSolid: \"实心圆\",\r\n      SquareSolid: \"方实心\",\r\n      None: \"没有任何\",\r\n      CropSelection: \"作物选择\",\r\n      Image: \"添加图片\",\r\n      Transparency: \"透明度\",\r\n      Height: \"高度\",\r\n      Width: \"宽度\",\r\n      AspectRatio: \"保持纵横比\",\r\n      W: \"瓦\",\r\n      H: \"H\",\r\n      DragText: \"将您的图像拖放到此处或\",\r\n      BrowseText: \"浏览此处...\",\r\n      SupportText: \"支持：\",\r\n      Frame: \"框架\",\r\n      Mat: \"垫\",\r\n      Bevel: \"斜角\",\r\n      Inset: \"插图\",\r\n      Hook: \"钩\",\r\n      Color: \"颜色\",\r\n      Size: \"尺寸\",\r\n      Offset: \"抵消\",\r\n      Radius: \"半径\",\r\n      Amount: \"数量\",\r\n      Resize: \"调整大小\",\r\n      Border: \"边界\",\r\n      Solid: \"坚硬的\",\r\n      Dashed: \"虚线\",\r\n      Dotted: \"点状\",\r\n      GradientColor: \"渐变色\",\r\n      ConfirmDialogHeader: \"确认保存更改\",\r\n      ConfirmDialogContent: \"您想保存对图像所做的更改吗？\",\r\n      AlertDialogHeader: \"不支持的文件\",\r\n      AlertDialogContent: \"不支持删除的文件。\",\r\n      Yes: \"是的\",\r\n      No: \"不\",\r\n      DropText: \"将您的图片拖放到此处或\",\r\n      ImageErrorDialogHeader: \"选择图像时出错。\",\r\n      ImageErrorDialogContent: \"只需选择您要打开的图像即可。\",\r\n      Straighten: \"难的\",\r\n      NoOutline: \"不需要\",\r\n      Clone: \"隐喻\",\r\n      Delete: \"破坏\",\r\n    },\r\n    mention: {\r\n      noRecordsTemplate: \"没有找到记录\",\r\n    },\r\n    inplaceeditor: {\r\n      save: \"节省\",\r\n      cancel: \"取消\",\r\n      loadingText: \"加载中...\",\r\n      editIcon: \"点击编辑\",\r\n      editAreaClick: \"点击编辑\",\r\n      editAreaDoubleClick: \"双击即可编辑\",\r\n    },\r\n    PdfViewer: {\r\n      PdfViewer: \"PDF阅读器\",\r\n      Cancel: \"取消\",\r\n      \"Download file\": \"下载文件\",\r\n      Download: \"下载\",\r\n      \"Enter Password\": \"本文档受密码保护。\",\r\n      \"File Corrupted\": \"文件损坏\",\r\n      \"File Corrupted Content\": \"文件已损坏且无法打开。\",\r\n      \"Fit Page\": \"适合页面\",\r\n      \"Fit Width\": \"适合宽度\",\r\n      Automatic: \"自动的\",\r\n      \"Go To First Page\": \"显示第一页\",\r\n      \"Invalid Password\": \"密码错误。\",\r\n      \"Next Page\": \"显示下一页\",\r\n      OK: \"好的\",\r\n      Open: \"打开文件\",\r\n      \"Page Number\": \"当前页码\",\r\n      \"Previous Page\": \"显示上一页\",\r\n      \"Go To Last Page\": \"显示最后一页\",\r\n      Zoom: \"飞涨\",\r\n      \"Zoom In\": \"放大\",\r\n      \"Zoom Out\": \"缩小\",\r\n      \"Page Thumbnails\": \"页面缩略图\",\r\n      Bookmarks: \"书签\",\r\n      Print: \"打印文件\",\r\n      \"Password Protected\": \"要求输入密码\",\r\n      Copy: \"复制\",\r\n      \"Text Selection\": \"文本选择工具\",\r\n      Panning: \"平移模式\",\r\n      \"Text Search\": \"查找文字\",\r\n      \"Find in document\": \"在文档中查找\",\r\n      \"Match case\": \"相符\",\r\n      Apply: \"申请\",\r\n      GoToPage: \"转到页面\",\r\n      \"No matches\": \"查看者已完成文档搜索。\",\r\n      \"No Text Found\": \"未找到文字\",\r\n      Undo: \"撤消\",\r\n      Redo: \"重做\",\r\n      Annotation: \"添加或编辑注释\",\r\n      Highlight: \"突出显示文本\",\r\n      Underline: \"下划线文本\",\r\n      Strikethrough: \"删除线文本\",\r\n      Delete: \"删除注释\",\r\n      Opacity: \"不透明度\",\r\n      \"Color edit\": \"换颜色\",\r\n      \"Opacity edit\": \"更改不透明度\",\r\n      \"Highlight context\": \"强调\",\r\n      \"Underline context\": \"强调\",\r\n      \"Strikethrough context\": \"删除线\",\r\n      \"Server error\": \"Web 服务未监听。 \",\r\n      \"Open text\": \"打开\",\r\n      \"First text\": \"第一页\",\r\n      \"Previous text\": \"上一页\",\r\n      \"Next text\": \"下一页\",\r\n      \"Last text\": \"最后一页\",\r\n      \"Zoom in text\": \"放大\",\r\n      \"Zoom out text\": \"缩小\",\r\n      \"Selection text\": \"选择\",\r\n      \"Pan text\": \"平底锅\",\r\n      \"Print text\": \"打印\",\r\n      \"Search text\": \"搜索\",\r\n      \"Annotation Edit text\": \"编辑注释\",\r\n      \"Line Thickness\": \"线的粗细\",\r\n      \"Line Properties\": \"线属性\",\r\n      \"Start Arrow\": \"开始箭头\",\r\n      \"End Arrow\": \"结束箭头\",\r\n      \"Line Style\": \"线条样式\",\r\n      \"Fill Color\": \"填色\",\r\n      \"Line Color\": \"线条颜色\",\r\n      None: \"没有任何\",\r\n      \"Open Arrow\": \"打开\",\r\n      \"Closed Arrow\": \"关闭\",\r\n      \"Round Arrow\": \"圆形的\",\r\n      \"Square Arrow\": \"正方形\",\r\n      \"Diamond Arrow\": \"钻石\",\r\n      Butt: \"屁股\",\r\n      Cut: \"切\",\r\n      Paste: \"粘贴\",\r\n      \"Delete Context\": \"删除\",\r\n      Properties: \"特性\",\r\n      \"Add Stamp\": \"添加图章\",\r\n      \"Add Shapes\": \"添加形状\",\r\n      \"Stroke edit\": \"更改描边颜色\",\r\n      \"Change thickness\": \"更改边框粗细\",\r\n      \"Add line\": \"添加线路\",\r\n      \"Add arrow\": \"添加箭头\",\r\n      \"Add rectangle\": \"添加矩形\",\r\n      \"Add circle\": \"添加圈子\",\r\n      \"Add polygon\": \"添加多边形\",\r\n      \"Add Comments\": \"添加评论\",\r\n      Comments: \"评论\",\r\n      \"No Comments Yet\": \"暂时没有评论\",\r\n      Accepted: \"公认\",\r\n      Completed: \"完全的\",\r\n      Cancelled: \"取消\",\r\n      Rejected: \"拒绝\",\r\n      \"Leader Length\": \"引线长度\",\r\n      \"Scale Ratio\": \"比例\",\r\n      Calibrate: \"校准\",\r\n      \"Calibrate Distance\": \"校准距离\",\r\n      \"Calibrate Perimeter\": \"校准周长\",\r\n      \"Calibrate Area\": \"校准区域\",\r\n      \"Calibrate Radius\": \"校准半径\",\r\n      \"Calibrate Volume\": \"校准音量\",\r\n    },\r\n    stepper: {\r\n      optional: \"选修的\",\r\n    },\r\n  },\r\n};\r\n","export const twLocalization = {\r\n  \"zh-Hant-HK\": {\r\n    grid: {\r\n      EmptyRecord: \"無記錄可顯示\",\r\n      True: \"真正\",\r\n      False: \"假\",\r\n      InvalidFilterMessage: \"無效的過濾器數據\",\r\n      GroupDropArea: \"將列標題拖到此處以對其列進行分組\",\r\n      UnGroup: \"點擊此處取消分組\",\r\n      GroupDisable: \"該列的分組已禁用\",\r\n      FilterbarTitle: \"的濾網\",\r\n      EmptyDataSourceError:\r\n        \"初始加載時，DataSource不能為空，因為列是從AutoGenerate Column Grid中的dataSource生成的\",\r\n      Add: \"加\",\r\n      Edit: \"編輯\",\r\n      Cancel: \"取消\",\r\n      Update: \"更新資料\",\r\n      Delete: \"刪除\",\r\n      Print: \"打印\",\r\n      Pdfexport: \"PDF導出\",\r\n      Excelexport: \"Excel導出\",\r\n      Wordexport: \"單詞導出\",\r\n      Csvexport: \"CSV導出\",\r\n      Search: \"搜索\",\r\n      Columnchooser: \"列\",\r\n      Save: \"保存\",\r\n      Item: \"項目\",\r\n      Items: \"項目\",\r\n      EditOperationAlert: \"未選擇任何記錄進行編輯操作\",\r\n      DeleteOperationAlert: \"未選擇要刪除操作的記錄\",\r\n      SaveButton: \"保存\",\r\n      OKButton: \"好\",\r\n      CancelButton: \"取消\",\r\n      EditFormTitle: \"的詳細內容\",\r\n      AddFormTitle: \"添加新記錄\",\r\n      BatchSaveConfirm: \"您確定要保存更改嗎？\",\r\n      BatchSaveLostChanges: \"未保存的更改將丟失。你確定你要繼續嗎？\",\r\n      ConfirmDelete: \"您確定要刪除記錄嗎？\",\r\n      CancelEdit: \"您確定要取消更改嗎？\",\r\n      ChooseColumns: \"選擇列\",\r\n      SearchColumns: \"搜索欄\",\r\n      Matchs: \"找不到匹配項\",\r\n      FilterButton: \"過濾\",\r\n      ClearButton: \"明確\",\r\n      StartsWith: \"以。。開始\",\r\n      EndsWith: \"以。。結束\",\r\n      Contains: \"包含\",\r\n      Equal: \"等於\",\r\n      NotEqual: \"不平等\",\r\n      LessThan: \"少於\",\r\n      LessThanOrEqual: \"小於或等於\",\r\n      GreaterThan: \"比...更棒\",\r\n      GreaterThanOrEqual: \"大於等於\",\r\n      ChooseDate: \"選擇日期\",\r\n      EnterValue: \"輸入值\",\r\n      Copy: \"複製\",\r\n      Group: \"按此列分組\",\r\n      Ungroup: \"按此列取消分組\",\r\n      autoFitAll: \"自動適合所有列\",\r\n      autoFit: \"自動適合此列\",\r\n      Export: \"出口\",\r\n      FirstPage: \"第一頁\",\r\n      LastPage: \"最後一頁\",\r\n      PreviousPage: \"上一頁\",\r\n      NextPage: \"下一頁\",\r\n      SortAscending: \"升序\",\r\n      SortDescending: \"降序排列\",\r\n      EditRecord: \"編輯記錄\",\r\n      DeleteRecord: \"刪除記錄\",\r\n      FilterMenu: \"過濾\",\r\n      SelectAll: \"全選\",\r\n      Blanks: \"空白\",\r\n      FilterTrue: \"真正\",\r\n      FilterFalse: \"假\",\r\n      NoResult: \"找不到匹配項\",\r\n      ClearFilter: \"清除篩選\",\r\n      NumberFilter: \"號碼過濾器\",\r\n      TextFilter: \"文字過濾器\",\r\n      DateFilter: \"日期過濾器\",\r\n      DateTimeFilter: \"日期時間過濾器\",\r\n      MatchCase: \"相符\",\r\n      Between: \"之間\",\r\n      CustomFilter: \"自定義過濾器\",\r\n      CustomFilterPlaceHolder: \"輸入值\",\r\n      CustomFilterDatePlaceHolder: \"選擇一個日期\",\r\n      AND: \"和\",\r\n      OR: \"要么\",\r\n      ShowRowsWhere: \"在以下位置顯示行：\",\r\n      NotStartsWith: \"不以開頭\",\r\n      Like: \"喜歡\",\r\n      NotEndsWith: \"不以結束\",\r\n      NotContains: \"不含\",\r\n      IsNull: \"無效的\",\r\n      NotNull: \"不為空\",\r\n      IsEmpty: \"空的\",\r\n      IsNotEmpty: \"不是空的\",\r\n      AddCurrentSelection: \"將當前選擇添加到過濾器\",\r\n      UnGroupButton: \"单击此处取消分组\",\r\n      AutoFitAll: \"自动调整所有列\",\r\n      AutoFit: \"自动调整此列\",\r\n      Clear: \"清除\",\r\n      FilterMenuDialogARIA: \"过滤器菜单对话框\",\r\n      ExcelFilterDialogARIA: \"Excel 过滤器对话框\",\r\n      DialogEditARIA: \"编辑对话框\",\r\n      ColumnChooserDialogARIA: \"列选择器\",\r\n      ColumnMenuDialogARIA: \"列菜单对话框\",\r\n      CustomFilterDialogARIA: \"自定义过滤器对话框\",\r\n      SortAtoZ: \"从 A 到 Z 排序\",\r\n      SortZtoA: \"从 Z 到 A 排序\",\r\n      SortByOldest: \"按最旧排序\",\r\n      SortByNewest: \"按最新排序\",\r\n      SortSmallestToLargest: \"从小到大排序\",\r\n      SortLargestToSmallest: \"从大到小排序\",\r\n      Sort: \"捃\",\r\n      FilterDescription: \"按 Alt Down 打开过滤器菜单\",\r\n      SortDescription: \"按 Enter 进行排序\",\r\n      ColumnMenuDescription: \"按 Alt Down 打开列菜单\",\r\n      GroupDescription: \"按 Ctrl 空格进行分组\",\r\n      ColumnHeader: \" 列标题 \",\r\n      TemplateCell: \" 是模板单元格\",\r\n      CommandColumnAria: \"是命令列列标题 \",\r\n      DialogEdit: \"对话框编辑\",\r\n      ClipBoard: \"剪贴板\",\r\n      GroupButton: \"组按钮\",\r\n      UnGroupAria: \"取消组合按钮\",\r\n      GroupSeperator: \"分组列的分隔符\",\r\n      UnGroupIcon: \"取消分组分组的列 \",\r\n      GroupedSortIcon: \"对分组的列进行排序 \",\r\n      GroupedDrag: \"拖动分组的列\",\r\n      GroupCaption: \" 是组字幕单元格\",\r\n      CheckBoxLabel: \"复选框\",\r\n      Expanded: \"展开\",\r\n      Collapsed: \"倒塌\",\r\n      SelectAllCheckbox: \"选择全部复选框\",\r\n      SelectRow: \"选择行\",\r\n      AscendingText: \"升序\",\r\n      DescendingText: \"降序\",\r\n      NoneText: \"无\",\r\n    },\r\n    pager: {\r\n      currentPageInfo: \"第{0}頁／共{1}頁\",\r\n      totalItemsInfo: \"（{0}個項目）\",\r\n      firstPageTooltip: \"轉到第一頁\",\r\n      lastPageTooltip: \"轉到最後一頁\",\r\n      nextPageTooltip: \"轉到下一頁\",\r\n      previousPageTooltip: \"轉到上一頁\",\r\n      nextPagerTooltip: \"轉到下一個尋呼機項目\",\r\n      previousPagerTooltip: \"轉到上一個尋呼機項目\",\r\n      pagerDropDown: \"每頁項目\",\r\n      pagerAllDropDown: \"物品\",\r\n      All: \"所有\",\r\n      totalItemInfo: \"（{0}项目）\",\r\n      Container: \"寻呼机容器\",\r\n      Information: \"寻呼机信息\",\r\n      ExternalMsg: \"寻呼机外部消息\",\r\n      Page: \"页 \",\r\n      Of: \" 的 \",\r\n      Pages: \" 页面\",\r\n    },\r\n    kanban: {\r\n      items: \"項目\",\r\n      min: \"敏\",\r\n      max: \"最高\",\r\n      cardsSelected: \"選擇的卡\",\r\n      addTitle: \"新增卡\",\r\n      editTitle: \"編輯卡詳細信息\",\r\n      deleteTitle: \"刪除卡\",\r\n      deleteContent: \"您確定要刪除此卡嗎？\",\r\n      save: \"救\",\r\n      delete: \"刪除\",\r\n      cancel: \"取消\",\r\n      yes: \"是\",\r\n      no: \"沒有\",\r\n      close: \"关\",\r\n      noCard: \"没有可显示的卡片\",\r\n      unassigned: \"未分配\",\r\n      cards: \"运输\",\r\n    },\r\n    dropdowns: {\r\n      noRecordsTemplate: \"沒有找到記錄\",\r\n      actionFailureTemplate: \"請求失敗\",\r\n      overflowCountTemplate: \"+${count}更多..\",\r\n      selectAllText: \"全選\",\r\n      unSelectAllText: \"全部取消選擇\",\r\n      totalCountTemplate: \"已選擇${count}個\",\r\n    },\r\n    \"drop-down-list\": {\r\n      noRecordsTemplate: \"沒有找到記錄\",\r\n      actionFailureTemplate: \"請求失敗\",\r\n    },\r\n    \"combo-box\": {\r\n      noRecordsTemplate: \"沒有找到記錄\",\r\n      actionFailureTemplate: \"請求失敗\",\r\n    },\r\n    \"auto-complete\": {\r\n      noRecordsTemplate: \"沒有找到記錄\",\r\n      actionFailureTemplate: \"請求失敗\",\r\n    },\r\n    \"multi-select\": {\r\n      noRecordsTemplate: \"沒有找到記錄\",\r\n      actionFailureTemplate: \"請求失敗\",\r\n      overflowCountTemplate: \"+${count}更多..\",\r\n      selectAllText: \"全選\",\r\n      unSelectAllText: \"全部取消選擇\",\r\n      totalCountTemplate: \"已選擇${count}個\",\r\n    },\r\n    listbox: {\r\n      noRecordsTemplate: \"沒有找到記錄\",\r\n      actionFailureTemplate: \"請求失敗\",\r\n      selectAllText: \"全選\",\r\n      unSelectAllText: \"全部取消選擇\",\r\n      moveUp: \"提升\",\r\n      moveDown: \"下移\",\r\n      moveTo: \"搬去\",\r\n      moveFrom: \"從\",\r\n      moveAllTo: \"全部移至\",\r\n      moveAllFrom: \"全部移出\",\r\n    },\r\n    spreadsheet: {\r\n      InsertingEmptyValue: \"参考值无效。\",\r\n      FindValue: \"寻找价值\",\r\n      ReplaceValue: \"替换值\",\r\n      FindReplaceTooltip: \"查找和替换\",\r\n      ByRow: \"按行\",\r\n      ByColumn: \"按列\",\r\n      MatchExactCellElements: \"匹配整个单元格内容\",\r\n      EnterCellAddress: \"输入单元格地址\",\r\n      FindAndReplace: \"查找和替换\",\r\n      ReplaceAllEnd: \" 比赛替换为\",\r\n      FindNextBtn: \"找下一个\",\r\n      FindPreviousBtn: \"查找上一个\",\r\n      ReplaceBtn: \"代替\",\r\n      ReplaceAllBtn: \"全部替换\",\r\n      GotoHeader: \"去\",\r\n      Sheet: \"床单\",\r\n      SearchWithin: \"在内部搜索\",\r\n      SearchBy: \"搜索依据\",\r\n      Reference: \"参考\",\r\n      Workbook: \"工作簿\",\r\n      NoElements: \"我们找不到您要找的东西。\",\r\n      FindWhat: \"找什么\",\r\n      ReplaceWith: \"用。。。来代替\",\r\n      FileName: \"文档名称\",\r\n      ExtendValidation:\r\n        \"选择包含一些没有数据验证的单元格。您想将验证扩展到这些单元格吗？\",\r\n      Yes: \"是的\",\r\n      No: \"不\",\r\n      PROPER: \"将文本转换为正确的大小写；第一个字母大写，其他字母小写。\",\r\n      Cut: \"切\",\r\n      Copy: \"复制\",\r\n      Paste: \"粘贴\",\r\n      PasteSpecial: \"特殊粘贴\",\r\n      All: \"全部\",\r\n      Values: \"价值观\",\r\n      Formats: \"格式\",\r\n      Font: \"字体\",\r\n      FontSize: \"字体大小\",\r\n      Bold: \"胆大\",\r\n      Italic: \"斜体\",\r\n      Underline: \"强调\",\r\n      Strikethrough: \"删除线\",\r\n      TextColor: \"文字颜色\",\r\n      FillColor: \"填色\",\r\n      HorizontalAlignment: \"水平对齐\",\r\n      AlignLeft: \"左对齐\",\r\n      AlignCenter: \"中心\",\r\n      AlignRight: \"右对齐\",\r\n      VerticalAlignment: \"垂直对齐\",\r\n      AlignTop: \"顶部对齐\",\r\n      AlignMiddle: \"居中对齐\",\r\n      AlignBottom: \"底部对齐\",\r\n      MergeCells: \"合并单元格\",\r\n      MergeAll: \"全部合并\",\r\n      MergeHorizontally: \"水平合并\",\r\n      MergeVertically: \"垂直合并\",\r\n      Unmerge: \"取消合并\",\r\n      UnmergeCells: \"取消合并单元格\",\r\n      SelectMergeType: \"选择合并类型\",\r\n      MergeCellsAlert: \"合并单元格只会保留最左上角（最上层）的值。还是合并？\",\r\n      PasteMergeAlert: \"我们不能对合并单元格执行此操作。\",\r\n      Borders: \"边框\",\r\n      TopBorders: \"顶部边框\",\r\n      LeftBorders: \"左边框\",\r\n      RightBorders: \"右边框\",\r\n      BottomBorders: \"底部边框\",\r\n      AllBorders: \"所有边框\",\r\n      HorizontalBorders: \"水平边框\",\r\n      VerticalBorders: \"垂直边框\",\r\n      OutsideBorders: \"境外\",\r\n      InsideBorders: \"内部边界\",\r\n      NoBorders: \"无国界\",\r\n      BorderColor: \"边框颜色\",\r\n      BorderStyle: \"边框样式\",\r\n      InsertFunction: \"插入函数\",\r\n      Insert: \"插入\",\r\n      Delete: \"删除\",\r\n      DuplicateSheet: \"复制\",\r\n      MoveRight: \"向右移\",\r\n      MoveLeft: \"向左移动\",\r\n      Rename: \"改名\",\r\n      Hide: \"隐藏\",\r\n      NameBox: \"姓名框\",\r\n      ShowHeaders: \"显示标题\",\r\n      HideHeaders: \"隐藏标题\",\r\n      ShowGridLines: \"显示网格线\",\r\n      HideGridLines: \"隐藏网格线\",\r\n      FreezePanes: \"冻结窗格\",\r\n      FreezeRows: \"冻结行\",\r\n      FreezeColumns: \"冻结列\",\r\n      UnfreezePanes: \"解冻窗格\",\r\n      UnfreezeRows: \"解冻行\",\r\n      UnfreezeColumns: \"解冻列\",\r\n      AddSheet: \"添加工作表\",\r\n      ListAllSheets: \"列出所有工作表\",\r\n      CollapseToolbar: \"折叠工具栏\",\r\n      ExpandToolbar: \"展开工具栏\",\r\n      CollapseFormulaBar: \"折叠公式栏\",\r\n      ExpandFormulaBar: \"展开公式栏\",\r\n      File: \"文件\",\r\n      Home: \"家\",\r\n      Formulas: \"公式\",\r\n      View: \"看法\",\r\n      New: \"新的\",\r\n      Open: \"打开\",\r\n      SaveAs: \"另存为\",\r\n      ExcelXlsx: \"微软Excel\",\r\n      ExcelXls: \"微软 Excel 97-2003\",\r\n      CSV: \"逗号分隔值\",\r\n      FormulaBar: \"公式栏\",\r\n      Sort: \"种类\",\r\n      SortAscending: \"上升\",\r\n      SortDescending: \"降序\",\r\n      CustomSort: \"自定义排序\",\r\n      AddColumn: \"添加列\",\r\n      ContainsHeader: \"数据包含标题\",\r\n      CaseSensitive: \"区分大小写\",\r\n      SortBy: \"排序方式\",\r\n      ThenBy: \"然后通过\",\r\n      SelectAColumn: \"选择一列\",\r\n      SortEmptyFieldError:\r\n        \"所有排序条件都必须指定一列。检查选定的排序标准并重试。\",\r\n      SortDuplicateFieldError: \" 不止一次按值排序。删除重复的排序条件并重试。\",\r\n      SortOutOfRangeError: \"选择已使用范围内的单元格或范围，然后重试。\",\r\n      MultiRangeSortError: \"这不能在多范围选择上完成。选择一个范围并重试。\",\r\n      HideRow: \"隐藏行\",\r\n      HideRows: \"隐藏行\",\r\n      UnhideRows: \"取消隐藏行\",\r\n      HideColumn: \"隐藏列\",\r\n      HideColumns: \"隐藏列\",\r\n      UnhideColumns: \"取消隐藏列\",\r\n      InsertRow: \"插入行\",\r\n      InsertRows: \"插入行\",\r\n      Above: \"多于\",\r\n      Below: \"以下\",\r\n      InsertColumn: \"插入列\",\r\n      InsertColumns: \"插入列\",\r\n      Before: \"前\",\r\n      After: \"后\",\r\n      DeleteRow: \"删除行\",\r\n      DeleteRows: \"删除行\",\r\n      DeleteColumn: \"删除列\",\r\n      DeleteColumns: \"删除列\",\r\n      Ok: \"好的\",\r\n      Close: \"关闭\",\r\n      MoreOptions: \"更多的选择\",\r\n      Cancel: \"取消\",\r\n      Apply: \"申请\",\r\n      MoreColors: \"更多颜色\",\r\n      StandardColors: \"标准颜色\",\r\n      General: \"一般的\",\r\n      Number: \"数字\",\r\n      Currency: \"货币\",\r\n      Accounting: \"会计\",\r\n      ShortDate: \"短约会\",\r\n      LongDate: \"长日期\",\r\n      Time: \"时间\",\r\n      Percentage: \"百分比\",\r\n      Fraction: \"分数\",\r\n      Scientific: \"科学的\",\r\n      Text: \"文本\",\r\n      NumberFormat: \"数字格式\",\r\n      MobileFormulaBarPlaceHolder: \"输入值或公式\",\r\n      PasteAlert:\r\n        \"你不能在这里粘贴，因为复制区域和粘贴区域的大小不一样。请尝试在不同的范围内粘贴。\",\r\n      DestroyAlert:\r\n        \"您确定要在不保存的情况下销毁当前工作簿并创建一个新工作簿吗？\",\r\n      SheetRenameInvalidAlert: \"工作表名称包含无效字符。\",\r\n      SheetRenameEmptyAlert: \"工作表名称不能为空。\",\r\n      SheetRenameAlreadyExistsAlert: \"工作表名称已存在。请输入其他名称。\",\r\n      DeleteSheetAlert: \"您确定要删除此工作表吗？\",\r\n      DeleteSingleLastSheetAlert: \"工作簿必须包含至少一个可见的工作表。\",\r\n      PickACategory: \"选择一个类别\",\r\n      Description: \"描述\",\r\n      UnsupportedFile: \"不支持的文件\",\r\n      DataLimitExceeded: \"文件数据太大，处理时间较长，要继续吗？\",\r\n      FileSizeLimitExceeded: \"文件太大，处理需要更多时间，要继续吗？\",\r\n      InvalidUrl: \"无效的网址\",\r\n      SUM: \"添加一系列数字和/或单元格。\",\r\n      SUMIF: \"根据指定条件添加单元格。\",\r\n      SUMIFS: \"根据指定条件添加单元格。\",\r\n      ABS: \"返回不带符号的数字的值。\",\r\n      RAND: \"返回 0 到 1 之间的随机数。\",\r\n      RANDBETWEEN: \"返回基于指定值的随机整数。\",\r\n      FLOOR: \"将数字向下舍入到给定因子的最接近倍数。\",\r\n      CEILING: \"将数字向上舍入为给定因子的最接近倍数。\",\r\n      PRODUCT: \"将一系列数字和/或单元格相乘。\",\r\n      AVERAGE: \"计算不包括文本的一系列数字和/或单元格的平均值。\",\r\n      AVERAGEIF: \"根据指定的标准计算单元格的平均值。\",\r\n      AVERAGEIFS: \"根据指定条件计算单元格的平均值。\",\r\n      AVERAGEA:\r\n        \"计算将 TRUE 评估为 1、将文本和 FALSE 评估为 0 的单元格的平均值。\",\r\n      COUNT: \"计算范围内包含数值的单元格。\",\r\n      COUNTIF: \"根据指定条件对细胞进行计数。\",\r\n      COUNTIFS: \"根据指定条件对细胞进行计数。\",\r\n      COUNTA: \"对包含某个范围内的值的单元格进行计数。\",\r\n      MIN: \"返回给定参数的最小数量。\",\r\n      MAX: \"返回最大数量的给定参数。\",\r\n      DATE: \"返回基于给定年、月和日的日期。\",\r\n      DAY: \"返回给定日期的日期。\",\r\n      DAYS: \"返回两个日期之间的天数。\",\r\n      IF: \"根据给定的表达式返回值。\",\r\n      IFS: \"根据给定的多个表达式返回值。\",\r\n      CalculateAND: \"如果所有参数都为 TRUE，则返回 TRUE，否则返回 FALSE。\",\r\n      CalculateOR: \"如果任何参数为 TRUE，则返回 TRUE，否则返回 FALSE。\",\r\n      IFERROR: \"如果没有发现错误则返回值，否则它将返回指定的值。\",\r\n      CHOOSE: \"根据索引号从值列表中返回一个值。\",\r\n      INDEX: \"根据行号和列号返回给定范围内的单元格值。\",\r\n      FIND: \"返回一个字符串在另一个字符串中的位置，区分大小写。\",\r\n      CONCATENATE: \"将两个或多个字符串组合在一起。\",\r\n      CONCAT: \"连接一个列表或一系列文本字符串。\",\r\n      SUBTOTAL: \"使用给定的函数编号返回范围的小计。\",\r\n      RADIANS: \"将度数转换为弧度。\",\r\n      MATCH: \"返回给定范围内指定值的相对位置。\",\r\n      SLOPE: \"从数据点的线性回归返回直线的斜率。\",\r\n      INTERCEPT: \"通过线性回归计算 Y 截距线的点。\",\r\n      UNIQUE: \"返回范围或数组中的唯一值\",\r\n      TEXT: \"将值转换为指定数字格式的文本。\",\r\n      DefineNameExists: \"此名称已存在，请尝试其他名称。\",\r\n      CircularReference:\r\n        \"当公式引用一个或多个循环引用时，这可能会导致计算不正确。\",\r\n      SORT: \"对数组的范围进行排序\",\r\n      T: \"检查值是否为文本并返回文本。\",\r\n      EXACT: \"检查两个文本字符串是否完全相同并返回 TRUE 或 FALSE。\",\r\n      LEN: \"返回给定字符串中的字符数。\",\r\n      MOD: \"返回数字除以除数后的余数。\",\r\n      ODD: \"将正数向上舍入并将负数向下舍入到最接近的奇数。\",\r\n      PI: \"返回 pi 的值。\",\r\n      COUNTBLANK: \"返回指定单元格范围内的空单元格数。\",\r\n      EVEN: \"将正数向上舍入并将负数向下舍入到最接近的偶数。\",\r\n      DECIMAL: \"将给定基数中数字的文本表示形式转换为十进制数。\",\r\n      ADDRESS: \"给定指定的行号和列号，以文本形式返回单元格引用。\",\r\n      CHAR: \"返回指定数字中的字符。\",\r\n      CODE: \"返回给定字符串中第一个字符的数字代码。\",\r\n      DOLLAR: \"将数字转换为货币格式的文本。\",\r\n      SMALL: \"返回给定数组中的第 k 个最小值。\",\r\n      LARGE: \"返回给定数组中的第 k 个最大值。\",\r\n      TIME: \"将小时、分钟、秒转换为时间格式的文本。\",\r\n      DEGREES: \"将弧度转换为度数。\",\r\n      FACT: \"返回数字的阶乘。\",\r\n      MEDIAN: \"返回给定数字集的中位数。\",\r\n      EDATE: \"返回指定日期之前或之后的给定月数的日期。\",\r\n      DATEVALUE: \"将日期字符串转换为日期值。\",\r\n      NOW: \"返回当前日期和时间。\",\r\n      HOUR: \"返回指定时间字符串中的小时数。\",\r\n      MINUTE: \"返回指定时间字符串中的分钟数。\",\r\n      SECOND: \"返回指定时间字符串中的秒数。\",\r\n      MONTH: \"返回指定日期字符串中的月数。\",\r\n      OR: \"或者\",\r\n      AND: \"和\",\r\n      CustomFilterDatePlaceHolder: \"选择日期\",\r\n      CustomFilterPlaceHolder: \"输入值\",\r\n      CustomFilter: \"自定义过滤器\",\r\n      Between: \"之间\",\r\n      MatchCase: \"相符\",\r\n      DateTimeFilter: \"日期时间过滤器\",\r\n      Undo: \"撤消\",\r\n      Redo: \"重做\",\r\n      ClearAllFilter: \"清除\",\r\n      ReapplyFilter: \"重新申请\",\r\n      DateFilter: \"日期过滤器\",\r\n      TextFilter: \"文本过滤器\",\r\n      NumberFilter: \"数字过滤器\",\r\n      ClearFilter: \"清除过滤器\",\r\n      NoResult: \"未找到匹配项\",\r\n      FilterFalse: \"错误的\",\r\n      FilterTrue: \"真的\",\r\n      Blanks: \"毛坯\",\r\n      SelectAll: \"全选\",\r\n      GreaterThanOrEqual: \"大于或等于\",\r\n      GreaterThan: \"比...更棒\",\r\n      LessThanOrEqual: \"小于或等于\",\r\n      LessThan: \"少于\",\r\n      NotEqual: \"不等于\",\r\n      Equal: \"平等的\",\r\n      Contains: \"包含\",\r\n      NotContains: \"不包含\",\r\n      EndsWith: \"以。。结束\",\r\n      NotEndsWith: \"不结束于\",\r\n      StartsWith: \"以。。开始\",\r\n      NotStartsWith: \"不以开头\",\r\n      IsEmpty: \"空的\",\r\n      IsNotEmpty: \"不是空的\",\r\n      ClearButton: \"清除\",\r\n      FilterButton: \"筛选\",\r\n      CancelButton: \"取消\",\r\n      OKButton: \"好的\",\r\n      Search: \"搜索\",\r\n      DataValidation: \"数据验证\",\r\n      CellRange: \"单元格范围\",\r\n      Allow: \"允许\",\r\n      Data: \"数据\",\r\n      Minimum: \"最低限度\",\r\n      Maximum: \"最大限度\",\r\n      IgnoreBlank: \"忽略空格\",\r\n      WholeNumber: \"完整的号码\",\r\n      Decimal: \"十进制\",\r\n      Date: \"日期\",\r\n      TextLength: \"文本长度\",\r\n      List: \"列表\",\r\n      NotBetween: \"不介于\",\r\n      EqualTo: \"等于\",\r\n      NotEqualTo: \"不等于\",\r\n      GreaterThanOrEqualTo: \"大于或等于\",\r\n      LessThanOrEqualTo: \"小于或等于\",\r\n      InCellDropDown: \"单元格下拉\",\r\n      Sources: \"来源\",\r\n      Value: \"价值\",\r\n      Retry: \"重试\",\r\n      DialogError: \"列表源必须是对单个行或列的引用。\",\r\n      MinMaxError: \"最大值必须大于或等于最小值。\",\r\n      InvalidNumberError: \"请输入有效的号码。\",\r\n      Spreadsheet: \"电子表格\",\r\n      MoreValidation: \"此选择包含多个验证。\",\r\n      FileNameError: '文件名不能包含像 \\\\ / : * 这样的字符？ \" < > [ ] |',\r\n      ValidationError: \"此值与为单元格定义的数据有效性限制不匹配。\",\r\n      ListLengthError: \"列表值最多只允许 256 个字符\",\r\n      ProtectSheet: \"保护表\",\r\n      UnprotectSheet: \"取消保护工作表\",\r\n      SelectCells: \"选择锁定的单元格\",\r\n      SelectUnlockedCells: \"选择解锁的单元格\",\r\n      Save: \"救\",\r\n      EmptyFileName: \"文件名不能为空。\",\r\n      LargeName: \"名称太长。\",\r\n      FormatCells: \"格式化单元格\",\r\n      FormatRows: \"格式化行\",\r\n      FormatColumns: \"格式化列\",\r\n      InsertLinks: \"插入链接\",\r\n      ProtectContent: \"保护锁定单元格的内容\",\r\n      ProtectAllowUser: \" 允许此工作表的所有用户：\",\r\n      EditAlert: \"您尝试更改的单元格受到保护。要进行更改，请取消保护工作表。\",\r\n      ReadonlyAlert:\r\n        \"您正在尝试修改处于只读模式的单元格。要进行更改，请禁用只读状态。\",\r\n      ClearValidation: \"清除验证\",\r\n      ISNUMBER: \"当值解析为数值时返回 true。\",\r\n      ROUND: \"将数字四舍五入到指定的位数。\",\r\n      GEOMEAN: \"返回数组或正数据范围的几何平均值。\",\r\n      POWER: \"返回一个数的幂的结果\",\r\n      LOG: \"返回数字的对数，以您指定的底数为底。\",\r\n      TRUNC: \"将数字的截断值返回到指定的小数位数。\",\r\n      EXP: \"返回 e 的给定数次方。\",\r\n      LOOKUP: \"查找一组行或列中的值\",\r\n      HLOOKUP: \"查找值表顶行中的值并返回与指定表行同一列中的值。\",\r\n      VLOOKUP: \"在搜索范围的第一列中搜索指定值。\",\r\n      NOT: \"返回指定布尔表达式的反数。\",\r\n      EOMONTH:\r\n        \"返回从指定的初始开始日期开始的指定月数之前和之后的月份的最后一天。\",\r\n      SQRT: \"返回正数的平方根。\",\r\n      ROUNDDOWN: \"将数字四舍五入为 0。\",\r\n      RSQ: \"返回基于数据点“known_y”和“known_x”的皮尔逊积矩相关系数的平方。\",\r\n      HighlightCellsRules: \"突出显示单元格规则\",\r\n      CFEqualTo: \"等于\",\r\n      TextThatContains: \"包含的文本\",\r\n      ADateOccuring: \"发生的日期\",\r\n      DuplicateValues: \"重复值\",\r\n      TopBottomRules: \"最高/最低规则\",\r\n      Top10Items: \"前 10 项\",\r\n      Top10: \"前10名\",\r\n      Bottom10Items: \"后 10 项\",\r\n      Bottom10: \"后 10 名\",\r\n      AboveAverage: \"高于平均水平\",\r\n      BelowAverage: \"低于平均水平\",\r\n      FormatCellsGreaterThan: \"格式化大于的单元格：\",\r\n      FormatCellsLessThan: \"格式化单元格小于：\",\r\n      FormatCellsBetween: \"格式化介于以下之间的单元格：\",\r\n      FormatCellsEqualTo: \"格式化单元格等于：\",\r\n      FormatCellsThatContainTheText: \"格式化包含文本的单元格：\",\r\n      FormatCellsThatContainADateOccurring: \"格式化包含发生日期的单元格：\",\r\n      FormatCellsDuplicate: \"格式化包含以下内容的单元格：\",\r\n      FormatCellsTop: \"格式化排在 TOP 的单元格：\",\r\n      FormatCellsBottom: \"格式化排在底部的单元格：\",\r\n      FormatCellsAbove: \"格式化高于平均水平的单元格：\",\r\n      FormatCellsBelow: \"格式化低于平均水平的单元格：\",\r\n      With: \"和\",\r\n      DataBars: \"数据条\",\r\n      ColorScales: \"色阶\",\r\n      IconSets: \"图标集\",\r\n      ClearRules: \"明确的规则\",\r\n      SelectedCells: \"清除所选单元格中的规则\",\r\n      EntireSheet: \"从整个工作表中清除规则\",\r\n      LightRedFillWithDarkRedText: \"淡红色填充深红色文字\",\r\n      YellowFillWithDarkYellowText: \"黄色填充深黄色文本\",\r\n      GreenFillWithDarkGreenText: \"绿色填充深绿色文字\",\r\n      RedFill: \"红色填充\",\r\n      RedText: \"红色文字\",\r\n      Duplicate: \"复制\",\r\n      Unique: \"独特\",\r\n      And: \"和\",\r\n      WebPage: \"网页\",\r\n      ThisDocument: \"这个文件\",\r\n      DisplayText: \"显示文字\",\r\n      Url: \"网址\",\r\n      CellReference: \"单元格引用\",\r\n      DefinedNames: \"定义名称\",\r\n      EnterTheTextToDisplay: \"输入要显示的文字\",\r\n      EnterTheUrl: \"输入网址\",\r\n      INT: \"将数字返回到最接近的整数。\",\r\n      SUMPRODUCT: \"返回给定数组范围的乘积之和。\",\r\n      TODAY: \"返回当前日期作为日期值。\",\r\n      ROUNDUP: \"将数字从零舍入。\",\r\n      Link: \"关联\",\r\n      Hyperlink: \"超级链接\",\r\n      EditHyperlink: \"编辑超链接\",\r\n      OpenHyperlink: \"打开超链接\",\r\n      RemoveHyperlink: \"删除超链接\",\r\n      InvalidHyperlinkAlert: \"该站点的地址无效。检查地址并重试。\",\r\n      InsertLink: \"插入链接\",\r\n      EditLink: \"编辑链接\",\r\n      WrapText: \"环绕文字\",\r\n      Update: \"更新\",\r\n      SortAndFilter: \"排序和过滤\",\r\n      Filter: \"筛选\",\r\n      FilterCellValue: \"按所选单元格的值过滤\",\r\n      FilterOutOfRangeError: \"选择已使用范围内的单元格或范围，然后重试。\",\r\n      ClearFilterFrom: \"清除过滤器自\",\r\n      LN: \"返回数字的自然对数。\",\r\n      DefineNameInValid: \"您输入的名称无效。\",\r\n      EmptyError: \"您必须输入一个值\",\r\n      ClearHighlight: \"清除突出显示\",\r\n      HighlightInvalidData: \"突出显示无效数据\",\r\n      Clear: \"清除\",\r\n      ClearContents: \"清除内容\",\r\n      ClearAll: \"全部清除\",\r\n      ClearFormats: \"清除格式\",\r\n      ClearHyperlinks: \"清除超链接\",\r\n      Image: \"图片\",\r\n      ConditionalFormatting: \"条件格式\",\r\n      BlueDataBar: \"蓝色数据栏\",\r\n      GreenDataBar: \"绿色数据栏\",\r\n      RedDataBar: \"红色数据条\",\r\n      OrangeDataBar: \"橙色数据栏\",\r\n      LightBlueDataBar: \"浅蓝色数据栏\",\r\n      PurpleDataBar: \"紫色数据栏\",\r\n      GYRColorScale: \"绿色 - 黄色 - 红色色标\",\r\n      RYGColorScale: \"红色 - 黄色 - 绿色色标\",\r\n      GWRColorScale: \"绿色 - 白色 - 红色色标\",\r\n      RWGColorScale: \"红色 - 白色 - 绿色色标\",\r\n      BWRColorScale: \"蓝色 - 白色 - 红色色标\",\r\n      RWBColorScale: \"红色 - 白色 - 蓝色色阶\",\r\n      WRColorScale: \"白色 - 红色色标\",\r\n      RWColorScale: \"红色 - 白色色标\",\r\n      GWColorScale: \"绿色 - 白色色标\",\r\n      WGColorScale: \"白色 - 绿色色标\",\r\n      GYColorScale: \"绿色 - 黄色色标\",\r\n      YGColorScale: \"黄色 - 绿色色标\",\r\n      ThreeArrowsColor: \"3支箭头（彩色）\",\r\n      ThreeArrowsGray: \"3支箭头（灰色）\",\r\n      ThreeTriangles: \"3个三角形\",\r\n      FourArrowsColor: \"4支箭头（灰色）\",\r\n      FourArrowsGray: \"4 支箭头（彩色）\",\r\n      FiveArrowsColor: \"5支箭头（灰色）\",\r\n      FiveArrowsGray: \"5支箭（彩色）\",\r\n      ThreeTrafficLights1: \"3 个交通灯（无边框）\",\r\n      ThreeTrafficLights2: \"3 个交通灯（镶边）\",\r\n      ThreeSigns: \"3 标志\",\r\n      FourTrafficLights: \"4个交通灯\",\r\n      RedToBlack: \"红变黑\",\r\n      ThreeSymbols1: \"3个符号（圆圈）\",\r\n      ThreeSymbols2: \"3个符号（未圈出）\",\r\n      ThreeFlags: \"3旗帜\",\r\n      ThreeStars: \"3星\",\r\n      FourRatings: \"4 个评分\",\r\n      FiveQuarters: \"5个宿舍\",\r\n      FiveRatings: \"5 个评分\",\r\n      FiveBoxes: \"5盒\",\r\n      Chart: \"图表\",\r\n      Column: \"柱子\",\r\n      Bar: \"酒吧\",\r\n      Area: \"区域\",\r\n      Pie: \"馅饼\",\r\n      Doughnut: \"油炸圈饼\",\r\n      PieAndDoughnut: \"馅饼/甜甜圈\",\r\n      Line: \"线\",\r\n      Radar: \"雷达\",\r\n      Scatter: \"分散\",\r\n      ChartDesign: \"图表设计\",\r\n      ClusteredColumn: \"簇状列\",\r\n      StackedColumn: \"堆积柱\",\r\n      StackedColumn100: \"100% 堆积柱\",\r\n      ClusteredBar: \"簇状条\",\r\n      StackedBar: \"堆积条\",\r\n      StackedBar100: \"100% 堆积条\",\r\n      StackedArea: \"堆积区\",\r\n      StackedArea100: \"100% 堆叠面积\",\r\n      StackedLine: \"堆积线\",\r\n      StackedLine100: \"100% 堆叠线\",\r\n      LineMarker: \"带标记的线\",\r\n      StackedLineMarker: \"带标记的堆叠线\",\r\n      StackedLine100Marker: \"带标记的 100% 堆叠线\",\r\n      AddChartElement: \"添加图表元素\",\r\n      Axes: \"轴\",\r\n      AxisTitle: \"轴标题\",\r\n      ChartTitle: \"图表标题\",\r\n      DataLabels: \"数据标签\",\r\n      Gridlines: \"网格线\",\r\n      Legends: \"传说\",\r\n      PrimaryHorizontal: \"小学水平\",\r\n      PrimaryVertical: \"初级垂直\",\r\n      None: \"没有任何\",\r\n      AboveChart: \"上图\",\r\n      Center: \"中心\",\r\n      InsideEnd: \"内端\",\r\n      InsideBase: \"内部基地\",\r\n      OutsideEnd: \"外端\",\r\n      PrimaryMajorHorizontal: \"初级专业水平\",\r\n      PrimaryMajorVertical: \"小学专业垂直\",\r\n      PrimaryMinorHorizontal: \"主要次要水平\",\r\n      PrimaryMinorVertical: \"主要次要垂直\",\r\n      Right: \"正确的\",\r\n      Left: \"剩下\",\r\n      Bottom: \"底部\",\r\n      Top: \"最佳\",\r\n      SwitchRowColumn: \"切换行/列\",\r\n      ChartTheme: \"图表主题\",\r\n      ChartType: \"图表类型\",\r\n      Material: \"材料\",\r\n      Fabric: \"织物\",\r\n      Bootstrap: \"引导程序\",\r\n      HighContrastLight: \"高对比灯\",\r\n      MaterialDark: \"材质深色\",\r\n      FabricDark: \"面料深色\",\r\n      HighContrast: \"高对比度\",\r\n      BootstrapDark: \"Bootstrap 深色\",\r\n      Bootstrap4: \"Bootstrap4\",\r\n      Bootstrap5Dark: \"Bootstrap5 深色\",\r\n      Bootstrap5: \"Bootstrap5\",\r\n      Tailwind: \"顺风\",\r\n      TailwindDark: \"顺风黑暗\",\r\n      VerticalAxisTitle: \"纵轴标题\",\r\n      HorizontalAxisTitle: \"横轴标题\",\r\n      EnterTitle: \"输入标题\",\r\n      UnprotectWorksheet: \"取消保护工作表\",\r\n      ReEnterPassword: \"重新输入密码以继续\",\r\n      SheetPassword: \"取消保护工作表的密码：\",\r\n      ProtectWorkbook: \"保护工作簿\",\r\n      Password: \"密码（可选）：\",\r\n      EnterThePassword: \"输入密码\",\r\n      ConfirmPassword: \"确认密码\",\r\n      EnterTheConfirmPassword: \"重新输入密码\",\r\n      PasswordAlert: \"确认密码不一致\",\r\n      UnprotectWorkbook: \"取消保护工作簿\",\r\n      UnprotectPasswordAlert: \"您提供的密码不正确。\",\r\n      IncorrectPassword: \"无法使用给定的密码打开文件或工作表\",\r\n      PasswordAlertMsg: \"请输入密码\",\r\n      ConfirmPasswordAlertMsg: \"请输入确认密码\",\r\n      IsProtected: \"受到保护\",\r\n      PDF: \"PDF文档\",\r\n      AutoFillMergeAlertMsg: \"为此，所有合并的单元格都需要具有相同的大小。\",\r\n      Fluent: \"流利\",\r\n      FluentDark: \"流利的黑暗\",\r\n      Fluent2: \"流利2\",\r\n      Fluent2Dark: \"流畅 2 深色\",\r\n      Fluent2HighContrast: \"Fluent 2 高对比度\",\r\n      Custom: \"风俗\",\r\n      WEEKDAY: \"返回与日期对应的星期几。\",\r\n      FillSeries: \"填充系列\",\r\n      CopyCells: \"复制单元格\",\r\n      FillFormattingOnly: \"仅填充格式\",\r\n      FillWithoutFormatting: \"不带格式填充\",\r\n      CustomFormat: \"自定义数字格式\",\r\n      CustomFormatPlaceholder: \"键入或选择自定义格式\",\r\n      CustomFormatTypeList: \"类型\",\r\n      CellReferenceTypoError:\r\n        \"我们在您的单元格引用中发现了拼写错误。是否要按如下方式更正此引用？\",\r\n      AddCurrentSelection: \"将当前选择添加到过滤器\",\r\n      ExternalWorkbook:\r\n        \"导入的 Excel 文件包含外部工作簿引用。您想导入该文件吗？\",\r\n      Directional: \"方向性\",\r\n      Shapes: \"形状\",\r\n      Indicators: \"指标\",\r\n      Ratings: \"评级\",\r\n      InvalidFormulaError: \"我们发现您输入的公式无效。\",\r\n      InvalidArguments: \"我们发现您输入的公式包含无效参数。\",\r\n      EmptyExpression: \"我们发现您输入的公式包含空表达式。\",\r\n      MismatchedParenthesis:\r\n        \"我们发现您键入的公式缺少一个或多个左括号或右括号。\",\r\n      ImproperFormula: \"我们发现您输入的公式不正确。\",\r\n      WrongNumberOfArguments: \"我们发现您输入的公式参数数量错误。\",\r\n      Requires3Arguments: \"我们发现您输入的公式需要 3 个参数。\",\r\n      MismatchedStringQuotes: \"我们发现您输入的公式的引号不匹配。\",\r\n      FormulaCircularRef: \"我们发现您输入的公式带有循环引用。\",\r\n    },\r\n    filemanager: {\r\n      NewFolder: \"新建文件夾\",\r\n      Upload: \"上載\",\r\n      Delete: \"刪除\",\r\n      Rename: \"改名\",\r\n      Download: \"下載\",\r\n      Cut: \"切\",\r\n      Copy: \"複製\",\r\n      Paste: \"糊\",\r\n      SortBy: \"排序方式\",\r\n      Refresh: \"刷新\",\r\n      \"Item-Selection\": \"選擇的項目\",\r\n      \"Items-Selection\": \"選擇的項目\",\r\n      View: \"視圖\",\r\n      Details: \"細節\",\r\n      SelectAll: \"全選\",\r\n      Open: \"打開\",\r\n      \"Tooltip-NewFolder\": \"新建文件夾\",\r\n      \"Tooltip-Upload\": \"上載\",\r\n      \"Tooltip-Delete\": \"刪除\",\r\n      \"Tooltip-Rename\": \"改名\",\r\n      \"Tooltip-Download\": \"下載\",\r\n      \"Tooltip-Cut\": \"切\",\r\n      \"Tooltip-Copy\": \"複製\",\r\n      \"Tooltip-Paste\": \"糊\",\r\n      \"Tooltip-SortBy\": \"排序方式\",\r\n      \"Tooltip-Refresh\": \"刷新\",\r\n      \"Tooltip-Selection\": \"清空選項\",\r\n      \"Tooltip-View\": \"視圖\",\r\n      \"Tooltip-Details\": \"細節\",\r\n      \"Tooltip-SelectAll\": \"全選\",\r\n      Name: \"名稱\",\r\n      Size: \"尺寸\",\r\n      DateModified: \"改性\",\r\n      DateCreated: \"創建日期\",\r\n      Path: \"路徑\",\r\n      Modified: \"改性\",\r\n      Created: \"已建立\",\r\n      Location: \"位置\",\r\n      Type: \"類型\",\r\n      Permission: \"允許\",\r\n      Ascending: \"上升\",\r\n      Descending: \"降序\",\r\n      None: \"没有\",\r\n      \"View-LargeIcons\": \"大圖標\",\r\n      \"View-Details\": \"細節\",\r\n      Search: \"搜索\",\r\n      \"Button-Ok\": \"好\",\r\n      \"Button-Cancel\": \"取消\",\r\n      \"Button-Yes\": \"是\",\r\n      \"Button-No\": \"沒有\",\r\n      \"Button-Create\": \"創建\",\r\n      \"Button-Save\": \"保存\",\r\n      \"Header-NewFolder\": \"夾\",\r\n      \"Content-NewFolder\": \"輸入您的文件夾名稱\",\r\n      \"Header-Rename\": \"改名\",\r\n      \"Content-Rename\": \"輸入你的新名字\",\r\n      \"Header-Rename-Confirmation\": \"重命名確認\",\r\n      \"Content-Rename-Confirmation\":\r\n        \"如果更改文件擴展名，文件可能會變得不穩定。您確定要更改嗎？\",\r\n      \"Header-Delete\": \"刪除文件\",\r\n      \"Content-Delete\": \"您確定要刪除此文件嗎？\",\r\n      \"Header-Folder-Delete\": \"刪除資料夾\",\r\n      \"Content-Folder-Delete\": \"您確定要刪除此文件夾嗎？\",\r\n      \"Header-Multiple-Delete\": \"刪除多個文件\",\r\n      \"Content-Multiple-Delete\": \"您確定要刪除這些{0}文件嗎？\",\r\n      \"Header-Duplicate\": \"文件/文件夾存在\",\r\n      \"Content-Duplicate\": \"{0}已經存在。您要重命名並粘貼嗎？\",\r\n      \"Header-Upload\": \"上傳文件\",\r\n      Error: \"錯誤\",\r\n      \"Validation-Empty\": \"文件或文件夾名稱不能為空。\",\r\n      \"Validation-Invalid\":\r\n        \"文件或文件夾名稱{0}包含無效字符。請使用其他名稱。有效的文件或文件夾名稱不能以點或空格結尾，並且不能包含以下任何字符：\\\\ /：*？“ <> |\",\r\n      \"Validation-NewFolder-Exists\": \"名稱為{0}的文件或文件夾已存在。\",\r\n      \"Validation-Rename-Exists\": \"無法將{0}重命名為{1}：目標已經存在。\",\r\n      \"Folder-Empty\": \"這個文件夾是空的\",\r\n      \"File-Upload\": \"將文件拖到此處進行上傳\",\r\n      \"Search-Empty\": \"未找到結果\",\r\n      \"Search-Key\": \"嘗試使用其他關鍵字\",\r\n      \"Filter-Empty\": \"未找到結果\",\r\n      \"Filter-Key\": \"嘗試使用其他過濾器\",\r\n      \"Sub-Folder-Error\": \"目標文件夾是源文件夾的子文件夾。\",\r\n      \"Same-Folder-Error\": \"目标文件夹与源文件夹相同。\",\r\n      \"Access-Denied\": \"拒絕訪問\",\r\n      \"Access-Details\": \"您無權訪問此文件夾。\",\r\n      \"Header-Retry\": \"文件已存在\",\r\n      \"Content-Retry\": \"該文件夾中已經存在具有該名稱的文件。你想幹什麼？\",\r\n      \"Button-Keep-Both\": \"保留兩個\",\r\n      \"Button-Replace\": \"更換\",\r\n      \"Button-Skip\": \"跳躍\",\r\n      \"ApplyAll-Label\": \"對所有當前項目執行此操作\",\r\n      KB: \"知识库\",\r\n      \"Access-Message\": \"{0}無法訪問。您需要權限才能執行{1}操作。\",\r\n      \"Network-Error\": \"NetworkError：无法在XMLHTTP上发送请求：无法加载\",\r\n      \"Server-Error\": \"ServerError：来自的无效响应\",\r\n    },\r\n    calendar: {\r\n      today: \"今天\",\r\n    },\r\n    datepicker: {\r\n      today: \"今天\",\r\n      placeholder: \"選擇一個日期\",\r\n    },\r\n    daterangepicker: {\r\n      placeholder: \"選擇日期範圍\",\r\n      startLabel: \"開始日期\",\r\n      endLabel: \"結束日期\",\r\n      applyText: \"應用\",\r\n      cancelText: \"取消\",\r\n      selectedDays: \"選定的日子\",\r\n      days: \"天\",\r\n      customRange: \"自訂範圍\",\r\n    },\r\n    timepicker: {\r\n      placeholder: \"選擇一個時間\",\r\n    },\r\n    datetimepicker: {\r\n      today: \"今天\",\r\n      placeholder: \"選擇日期和時間\",\r\n    },\r\n    dialog: {\r\n      close: \"關\",\r\n    },\r\n    toast: {\r\n      close: \"關\",\r\n    },\r\n    tab: {\r\n      closeButtonTitle: \"關\",\r\n    },\r\n    schedule: {\r\n      day: \"天\",\r\n      week: \"周\",\r\n      workWeek: \"工作周\",\r\n      month: \"月\",\r\n      year: \"年\",\r\n      agenda: \"议程\",\r\n      weekAgenda: \"周议程\",\r\n      workWeekAgenda: \"工作周议程\",\r\n      monthAgenda: \"月议程\",\r\n      today: \"今天\",\r\n      noEvents: \"没有事件\",\r\n      emptyContainer: \"这一天没有安排任何活动。\",\r\n      allDay: \"一整天\",\r\n      start: \"开始\",\r\n      end: \"结束\",\r\n      more: \"更多\",\r\n      close: \"关\",\r\n      cancel: \"取消\",\r\n      noTitle: \"（无题）\",\r\n      delete: \"删除\",\r\n      deleteEvent: \"删除事件\",\r\n      deleteMultipleEvent: \"刪除多個事件\",\r\n      selectedItems: \"选择的项目\",\r\n      deleteSeries: \"删除系列\",\r\n      edit: \"编辑\",\r\n      editSeries: \"编辑系列\",\r\n      editEvent: \"编辑事件\",\r\n      createEvent: \"创建\",\r\n      subject: \"学科\",\r\n      addTitle: \"添加标题\",\r\n      moreDetails: \"更多细节\",\r\n      moreEvents: \"更多事件\",\r\n      save: \"保存\",\r\n      editContent: \"您想如何更改该系列中的约会？\",\r\n      deleteContent: \"你确定要删除这个事件？\",\r\n      deleteMultipleContent: \"您確定要刪除所選事件嗎？\",\r\n      newEvent: \"新事件\",\r\n      title: \"标题\",\r\n      location: \"位置\",\r\n      description: \"描述\",\r\n      timezone: \"时区\",\r\n      startTimezone: \"启动时区\",\r\n      endTimezone: \"结束时区\",\r\n      repeat: \"重复\",\r\n      saveButton: \"保存\",\r\n      cancelButton: \"取消\",\r\n      deleteButton: \"删除\",\r\n      recurrence: \"循环\",\r\n      wrongPattern: \"重複發生模式無效。\",\r\n      seriesChangeAlert:\r\n        \"您是否要取消對此系列特定實例所做的更改，然後再次將其與整個系列匹配？\",\r\n      createError:\r\n        \"事件的持續時間必須短於其發生的頻率。縮短持續時間，或更改重複事件編輯器中的重複發生模式。\",\r\n      sameDayAlert: \"在同一天不能發生兩次同一事件。\",\r\n      occurenceAlert:\r\n        \"如果它跳过同一约会的较晚发生，则无法重新安排定期约会的发生。\",\r\n      editRecurrence: \"编辑重复\",\r\n      repeats: \"重复\",\r\n      alert: \"警报\",\r\n      startEndError: \"选定的结束日期发生在开始日期之前。\",\r\n      invalidDateError: \"输入的日期值无效。\",\r\n      blockAlert: \"無法在阻止的時間範圍內安排事件。\",\r\n      ok: \"好\",\r\n      of: \"的\",\r\n      yes: \"是\",\r\n      no: \"沒有\",\r\n      occurrence: \"發生\",\r\n      series: \"系列\",\r\n      previous: \"以前\",\r\n      next: \"下一個\",\r\n      timelineDay: \"時間表日\",\r\n      timelineWeek: \"時間軸週\",\r\n      timelineWorkWeek: \"時間表工作週\",\r\n      timelineMonth: \"時間線月\",\r\n      timelineYear: \"時間軸年份\",\r\n      editFollowingEvent: \"後續活動\",\r\n      deleteTitle: \"刪除活動\",\r\n      editTitle: \"編輯活動\",\r\n      beginFrom: \"從開始\",\r\n      endAt: \"結束於\",\r\n      expandAllDaySection: \"展开全天部分\",\r\n      collapseAllDaySection: \"全天折叠部分\",\r\n      searchTimezone: \"搜索时区\",\r\n      noRecords: \"没有找到记录\",\r\n      deleteRecurrenceContent: \"你想只删除这个事件或整个系列？\",\r\n      recurrenceDateValidation:\r\n        \"有些月份比所選日期少。在這幾個月中，事件將發生在該月的最後一個日期。\",\r\n    },\r\n    recurrenceeditor: {\r\n      none: \"没有\",\r\n      daily: \"日常\",\r\n      weekly: \"每周\",\r\n      monthly: \"每月一次\",\r\n      month: \"月\",\r\n      yearly: \"每年\",\r\n      never: \"决不\",\r\n      until: \"直到\",\r\n      count: \"计数\",\r\n      first: \"第一\",\r\n      second: \"第二\",\r\n      third: \"第三\",\r\n      fourth: \"第四\",\r\n      last: \"持续\",\r\n      repeat: \"重复\",\r\n      repeatEvery: \"重复每一个\",\r\n      on: \"重复\",\r\n      end: \"结束\",\r\n      onDay: \"天\",\r\n      days: \"天\",\r\n      weeks: \"周\",\r\n      months: \"月份\",\r\n      years: \"年份\",\r\n      every: \"每一個\",\r\n      summaryTimes: \"時\",\r\n      summaryOn: \"上\",\r\n      summaryUntil: \"直到\",\r\n      summaryRepeat: \"重复\",\r\n      summaryDay: \"天\",\r\n      summaryWeek: \"週\",\r\n      summaryMonth: \"個月\",\r\n      summaryYear: \"年份\",\r\n      monthWeek: \"月週\",\r\n      monthPosition: \"月份位置\",\r\n      monthExpander: \"月擴展器\",\r\n      yearExpander: \"年擴展器\",\r\n      repeatInterval: \"重複間隔\",\r\n    },\r\n    gantt: {\r\n      emptyRecord: \"無記錄可顯示\",\r\n      id: \"ID\",\r\n      name: \"名稱\",\r\n      startDate: \"開始日期\",\r\n      endDate: \"結束日期\",\r\n      duration: \"持續時間\",\r\n      progress: \"進展\",\r\n      dependency: \"相依性\",\r\n      notes: \"筆記\",\r\n      baselineStartDate: \"基准開始日期\",\r\n      baselineEndDate: \"基準結束日期\",\r\n      taskMode: \"任務模式\",\r\n      changeScheduleMode: \"更改時間表模式\",\r\n      subTasksStartDate: \"子任務開始日期\",\r\n      subTasksEndDate: \"子任務結束日期\",\r\n      scheduleStartDate: \"計劃開始日期\",\r\n      scheduleEndDate: \"計劃結束日期\",\r\n      auto: \"汽車\",\r\n      manual: \"手冊\",\r\n      type: \"類型\",\r\n      offset: \"偏移量\",\r\n      resourceName: \"資源資源\",\r\n      resourceID: \"資源ID\",\r\n      day: \"天\",\r\n      hour: \"小時\",\r\n      minute: \"分鐘\",\r\n      days: \"天\",\r\n      hours: \"小時\",\r\n      minutes: \"分鐘\",\r\n      generalTab: \"一般\",\r\n      customTab: \"自定義列\",\r\n      writeNotes: \"寫筆記\",\r\n      addDialogTitle: \"新任務\",\r\n      editDialogTitle: \"任務信息\",\r\n      saveButton: \"保存\",\r\n      add: \"加\",\r\n      edit: \"編輯\",\r\n      update: \"更新資料\",\r\n      delete: \"刪除\",\r\n      cancel: \"取消\",\r\n      search: \"搜索\",\r\n      task: \" 任務\",\r\n      tasks: \" 任務\",\r\n      zoomIn: \"放大\",\r\n      zoomOut: \"縮小\",\r\n      zoomToFit: \"縮放以適合\",\r\n      excelExport: \"Excel導出\",\r\n      csvExport: \"CSV導出\",\r\n      expandAll: \"展開全部\",\r\n      collapseAll: \"全部收縮\",\r\n      nextTimeSpan: \"下一個時間跨度\",\r\n      prevTimeSpan: \"以前的時間跨度\",\r\n      okText: \"好\",\r\n      confirmDelete: \"您確定要刪除記錄嗎？\",\r\n      from: \"從\",\r\n      to: \"至\",\r\n      taskLink: \"任務鏈接\",\r\n      lag: \"落後\",\r\n      start: \"開始\",\r\n      finish: \"完\",\r\n      enterValue: \"輸入值\",\r\n      taskBeforePredecessor_FS:\r\n        \"您將“ {0}”移到了“ {1}”完成並鏈接了兩個任務之前開始。結果，這些鏈接不能被接受。在下面選擇一項操作即可執行\",\r\n      taskAfterPredecessor_FS:\r\n        \"您將“ {0}”從“ {1}”移開，兩個任務已鏈接。結果，這些鏈接不能被接受。在下面選擇一項操作即可執行\",\r\n      taskBeforePredecessor_SS:\r\n        \"您將“ {0}”移到了“ {1}”啟動之前，並且兩個任務已鏈接。結果，這些鏈接不能被接受。在下面選擇一項操作即可執行\",\r\n      taskAfterPredecessor_SS:\r\n        \"在啟動“ {1}”之後，您將“ {0}”移至啟動位置，並且兩個任務已鏈接。結果，這些鏈接不能被接受。在下面選擇一項操作即可執行\",\r\n      taskBeforePredecessor_FF:\r\n        \"您將“ {0}”移至“ {1}”完成之前已完成，並且兩個任務已鏈接。結果，這些鏈接不能被接受。在下面選擇一項操作即可執行\",\r\n      taskAfterPredecessor_FF:\r\n        \"在完成“ {1}”之後，您將“ {0}”移至完成，並且兩個任務已鏈接。結果，這些鏈接不能被接受。在下面選擇一項操作即可執行\",\r\n      taskBeforePredecessor_SF:\r\n        \"您將“ {0}”從“ {1}”移至開始，並且兩個任務已鏈接。結果，這些鏈接不能被接受。在下面選擇一項操作即可執行\",\r\n      taskAfterPredecessor_SF:\r\n        \"啟動“ {1}”後，您將“ {0}”移至完成位置，並且兩個任務已鏈接。結果，這些鏈接不能被接受。在下面選擇一項操作即可執行\",\r\n      taskInformation: \"任務信息\",\r\n      deleteTask: \"刪除任務\",\r\n      deleteDependency: \"刪除依賴\",\r\n      convert: \"兌換\",\r\n      save: \"保存\",\r\n      above: \"以上\",\r\n      below: \"下面\",\r\n      child: \"兒童\",\r\n      milestone: \"里程碑\",\r\n      toTask: \"到任務\",\r\n      toMilestone: \"走向里程碑\",\r\n      eventMarkers: \"事件標記\",\r\n      leftTaskLabel: \"左任務標籤\",\r\n      rightTaskLabel: \"正確的任務標籤\",\r\n      timelineCell: \"時間軸單元\",\r\n      confirmPredecessorDelete: \"您確定要刪除依賴關係鏈接嗎？\",\r\n      unit: \"單元\",\r\n      work: \"工作\",\r\n      taskType: \"任務類型\",\r\n      unassignedTask: \"未分配任務\",\r\n      group: \"組\",\r\n      indent: \"缩进\",\r\n      outdent: \"突出\",\r\n      segments: \"區隔\",\r\n      splitTask: \"拆分任務\",\r\n      mergeTask: \"合併任務\",\r\n      left: \"剩下\",\r\n      right: \"對\",\r\n      FF: \"FF\",\r\n      FS: \"FS\",\r\n      SF: \"顺丰\",\r\n      SS: \"SS\",\r\n    },\r\n    richtexteditor: {\r\n      alignments: \"對齊方式\",\r\n      justifyLeft: \"左對齊\",\r\n      justifyCenter: \"居中對齊\",\r\n      justifyRight: \"右對齊\",\r\n      justifyFull: \"對齊對齊\",\r\n      fontName: \"字體名稱\",\r\n      fontSize: \"字體大小\",\r\n      fontColor: \"字體顏色\",\r\n      backgroundColor: \"背景顏色\",\r\n      bold: \"膽大\",\r\n      italic: \"斜體\",\r\n      underline: \"強調\",\r\n      strikethrough: \"刪除線\",\r\n      clearFormat: \"清除格式\",\r\n      clearAll: \"全部清除\",\r\n      cut: \"切\",\r\n      copy: \"複製\",\r\n      paste: \"糊\",\r\n      unorderedList: \"項目符號列表\",\r\n      orderedList: \"編號清單\",\r\n      indent: \"增加縮進\",\r\n      outdent: \"減少縮進\",\r\n      undo: \"撤消\",\r\n      redo: \"重做\",\r\n      superscript: \"上標\",\r\n      subscript: \"下標\",\r\n      createLink: \"插入超鏈接\",\r\n      openLink: \"打開鏈接\",\r\n      editLink: \"編輯連結\",\r\n      removeLink: \"刪除鏈接\",\r\n      image: \"插入圖片\",\r\n      replace: \"更換\",\r\n      numberFormatList: \"数字格式列表\",\r\n      bulletFormatList: \"项目符号格式列表\",\r\n      audioReplace: \"代替\",\r\n      videoReplace: \"代替\",\r\n      videoAlign: \"对齐\",\r\n      videoDimension: \"方面\",\r\n      audioRemove: \"消除\",\r\n      videoRemove: \"消除\",\r\n      audioLayoutOption: \"布局选项\",\r\n      videoLayoutOption: \"布局选项\",\r\n      align: \"對齊\",\r\n      caption: \"圖片說明\",\r\n      remove: \"去掉\",\r\n      insertLink: \"插入連結\",\r\n      display: \"顯示\",\r\n      altText: \"替代文字\",\r\n      dimension: \"變更尺寸\",\r\n      fullscreen: \"最大化\",\r\n      maximize: \"最大化\",\r\n      minimize: \"最小化\",\r\n      lowerCase: \"小寫\",\r\n      upperCase: \"大寫\",\r\n      print: \"打印\",\r\n      formats: \"格式\",\r\n      sourcecode: \"代碼查看\",\r\n      preview: \"預習\",\r\n      viewside: \"视面\",\r\n      insertCode: \"插入代碼\",\r\n      linkText: \"顯示文字\",\r\n      linkTooltipLabel: \"標題\",\r\n      linkWebUrl: \"網址\",\r\n      linkTitle: \"輸入標題\",\r\n      linkurl: \"https://example.com\",\r\n      linkOpenInNewWindow: \"在新窗口中打開鏈接\",\r\n      linkHeader: \"插入連結\",\r\n      dialogInsert: \"插入\",\r\n      dialogCancel: \"取消\",\r\n      dialogUpdate: \"更新資料\",\r\n      imageHeader: \"插入圖片\",\r\n      audioHeader: \"插入音频\",\r\n      videoHeader: \"插入视频\",\r\n      imageLinkHeader: \"您也可以提供網絡鏈接\",\r\n      audioLinkHeader: \"您还可以提供网络链接\",\r\n      videoLinkHeader: \"网址\",\r\n      embedVideoLinkHeader: \"媒体嵌入 URL\",\r\n      mdimageLink: \"請提供您圖片的網址\",\r\n      imageUploadMessage: \"將圖片放在此處或瀏覽以上傳\",\r\n      audioUploadMessage: \"拖放音频文件或浏览上传\",\r\n      videoUploadMessage: \"拖放视频文件或浏览上传\",\r\n      imageDeviceUploadMessage: \"點擊這裡上傳\",\r\n      audioDeviceUploadMessage: \"点击这里上传\",\r\n      videoDeviceUploadMessage: \"点击这里上传\",\r\n      imageAlternateText: \"替代文字\",\r\n      alternateHeader: \"替代文字\",\r\n      browse: \"瀏覽\",\r\n      imageUrl: \"https://example.com/image.png\",\r\n      audioUrl: \"https://example.com/audio.mp3\",\r\n      videoUrl: \"https://example.com/video.mp4\",\r\n      webUrl: \"网址\",\r\n      embedUrl: \"嵌入代码\",\r\n      imageCaption: \"标题\",\r\n      imageSizeHeader: \"圖片尺寸\",\r\n      imageHeight: \"高度\",\r\n      imageWidth: \"寬度\",\r\n      videoHeight: \"高度\",\r\n      videoWidth: \"宽度\",\r\n      textPlaceholder: \"輸入文字\",\r\n      inserttablebtn: \"插入表格\",\r\n      tabledialogHeader: \"插入表格\",\r\n      tableWidth: \"寬度\",\r\n      cellpadding: \"單元填充\",\r\n      cellspacing: \"單元間距\",\r\n      columns: \"列數\",\r\n      rows: \"行數\",\r\n      tableRows: \"排\",\r\n      tableColumns: \"柱子\",\r\n      tableCellHorizontalAlign: \"表格單元格水平對齊\",\r\n      tableCellVerticalAlign: \"表格垂直对齐\",\r\n      createTable: \"建立表格\",\r\n      removeTable: \"刪除表\",\r\n      tableHeader: \"标题行\",\r\n      tableRemove: \"删除表\",\r\n      tableCellBackground: \"表單元格背景\",\r\n      tableEditProperties: \"表格編輯屬性\",\r\n      styles: \"款式\",\r\n      insertColumnLeft: \"向左插入列\",\r\n      insertColumnRight: \"向右插入列\",\r\n      deleteColumn: \"刪除欄\",\r\n      insertRowBefore: \"在之前插入行\",\r\n      insertRowAfter: \"在之後插入行\",\r\n      deleteRow: \"刪除行\",\r\n      tableEditHeader: \"編輯表格\",\r\n      TableHeadingText: \"標題\",\r\n      TableColText: \"上校\",\r\n      imageInsertLinkHeader: \"插入連結\",\r\n      editImageHeader: \"編輯影像\",\r\n      alignmentsDropDownLeft: \"左對齊\",\r\n      alignmentsDropDownCenter: \"居中對齊\",\r\n      alignmentsDropDownRight: \"右對齊\",\r\n      alignmentsDropDownJustify: \"對齊對齊\",\r\n      imageDisplayDropDownInline: \"排隊\",\r\n      imageDisplayDropDownBreak: \"打破\",\r\n      audioLayoutOptionDropDownInline: \"排队\",\r\n      audioLayoutOptionDropDownBreak: \"休息\",\r\n      videoLayoutOptionDropDownInline: \"排队\",\r\n      videoLayoutOptionDropDownBreak: \"休息\",\r\n      tableInsertRowDropDownBefore: \"在之前插入行\",\r\n      tableInsertRowDropDownAfter: \"在之後插入行\",\r\n      tableInsertRowDropDownDelete: \"刪除行\",\r\n      tableInsertColumnDropDownLeft: \"向左插入列\",\r\n      tableInsertColumnDropDownRight: \"向右插入列\",\r\n      tableInsertColumnDropDownDelete: \"刪除欄\",\r\n      tableVerticalAlignDropDownTop: \"對齊頂部\",\r\n      tableVerticalAlignDropDownMiddle: \"中間對齊\",\r\n      tableVerticalAlignDropDownBottom: \"底部對齊\",\r\n      tableStylesDropDownDashedBorder: \"虛線邊框\",\r\n      tableStylesDropDownAlternateRows: \"交替行\",\r\n      pasteFormat: \"貼上格式\",\r\n      pasteFormatContent: \"選擇格式化動作\",\r\n      plainText: \"純文本\",\r\n      cleanFormat: \"清潔\",\r\n      keepFormat: \"保持\",\r\n      pasteDialogOk: \"好\",\r\n      pasteDialogCancel: \"取消\",\r\n      fileManager: \"文件管理器\",\r\n      fileDialogHeader: \"文件瀏覽器\",\r\n      formatsDropDownParagraph: \"段落\",\r\n      formatsDropDownCode: \"代码\",\r\n      formatsDropDownQuotation: \"引述\",\r\n      formatsDropDownHeading1: \"标题 1\",\r\n      formatsDropDownHeading2: \"标题 2\",\r\n      formatsDropDownHeading3: \"标题 3\",\r\n      formatsDropDownHeading4: \"标题 4\",\r\n      fontNameSegoeUI: \"SegoeUI\",\r\n      fontNameArial: \"Arial\",\r\n      fontNameGeorgia: \"Georgia\",\r\n      fontNameImpact: \"Impact\",\r\n      fontNameTahoma: \"Tahoma\",\r\n      fontNameTimesNewRoman: \"Times New Roman\",\r\n      fontNameVerdana: \"Verdana\",\r\n      formatsOLListNumber: \"数字\",\r\n      formatsOLListLowerAlpha: \"下阿尔法\",\r\n      formatsOLListUpperAlpha: \"上阿尔法\",\r\n      formatsOLListLowerRoman: \"下罗马\",\r\n      formatsOLListUpperRoman: \"上罗马\",\r\n      formatsOLListLowerGreek: \"下希腊语\",\r\n      formatsULListDisc: \"光盘\",\r\n      formatsULListCircle: \"圆圈\",\r\n      formatsULListSquare: \"正方形\",\r\n      formatsOLListNone: \"没有任何\",\r\n      formatsULListNone: \"没有任何\",\r\n      formatPainter: \"格式刷\",\r\n      emojiPicker: \"表情符号选择器\",\r\n      embeddedCode: \"嵌入代码\",\r\n      pasteEmbeddedCodeHere: \"将嵌入代码粘贴到此处\",\r\n      emojiPickerTypeToFind: \"键入以查找\",\r\n      emojiPickerNoResultFound: \"未找到结果\",\r\n      emojiPickerTrySomethingElse: \"尝试别的东西\",\r\n      linkAriaLabel: \"在新窗口中打开\",\r\n      imageLinkAriaLabel: \"在新窗口中打开\",\r\n      unsupportedImage: \"不支援的文件格式\",\r\n      mergecells: \"合并单元格\",\r\n      verticalsplit: \"垂直分割\",\r\n      horizontalsplit: \"水平分割\",\r\n      numberFormatListLowerAlpha: \"下阿尔法\",\r\n      numberFormatListUpperAlpha: \"上阿尔法\",\r\n      numberFormatListLowerRoman: \"下罗马语\",\r\n      numberFormatListUpperRoman: \"上罗马\",\r\n      numberFormatListLowerGreek: \"下层希腊语\",\r\n      slashMenuItemHeadingOneText: \"标题 1\",\r\n      slashMenuItemHeadingOneDescription: \"使用它作为顶级标题或标题。\",\r\n      slashMenuItemHeadingTwoText: \"标题 2\",\r\n      slashMenuItemHeadingTwoDescription: \"将其用于关键部分。\",\r\n      slashMenuItemHeadingThreeText: \"标题 3\",\r\n      slashMenuItemHeadingThreeDescription: \"将其用于子部分和组标题。\",\r\n      slashMenuItemHeadingFourText: \"标题 4\",\r\n      slashMenuItemHeadingFourDescription: \"将其用于子主题的要点。\",\r\n      slashMenuItemParagraphText: \"段落\",\r\n      slashMenuItemParagraphDescription: \"用段落来写作。\",\r\n      slashMenuItemBlockquoteText: \"块引用\",\r\n      slashMenuItemBlockquoteDescription: \"创建引用或引文。\",\r\n      slashMenuItemOrderedListText: \"有序列表\",\r\n      slashMenuItemOrderedListDescription: \"创建一个有序列表。\",\r\n      slashMenuItemUnorderedListText: \"无序列表\",\r\n      slashMenuItemUnorderedListDescription: \"创建一个无序列表。\",\r\n      slashMenuItemCodeText: \"代码块\",\r\n      slashMenuItemCodeDescription: \"创建预格式化的代码块。\",\r\n      slashMenuItemTableText: \"桌子\",\r\n      slashMenuItemTableDescription: \"插入一个表格。\",\r\n      slashMenuItemLinkText: \"关联\",\r\n      slashMenuItemLinkDescription: \"插入链接。\",\r\n      slashMenuItemImageText: \"图像\",\r\n      slashMenuItemImageDescription: \"插入图像。\",\r\n      slashMenuItemAudioText: \"声音的\",\r\n      slashMenuItemAudioDescription: \"插入音频。\",\r\n      slashMenuItemVideoText: \"视频\",\r\n      slashMenuItemVideoDescription: \"插入视频。\",\r\n      slashMenuItemEmojiText: \"表情符号选择器\",\r\n      slashMenuItemEmojiDescription: \"使用表情符号来表达想法和表情符号。\",\r\n    },\r\n    colorpicker: {\r\n      Apply: \"應用\",\r\n      Cancel: \"取消\",\r\n      ModeSwitcher: \"切換模式\",\r\n      RecentColors: \"最近的颜色\",\r\n    },\r\n    uploader: {\r\n      Browse: \"瀏覽...\",\r\n      Clear: \"明確\",\r\n      Upload: \"上載\",\r\n      dropFilesHint: \"或將文件放在此處\",\r\n      invalidMaxFileSize: \"檔案太大\",\r\n      invalidMinFileSize: \"檔案太小\",\r\n      invalidFileType: \"不允許的文件類型\",\r\n      uploadFailedMessage: \"文件上傳失敗\",\r\n      uploadSuccessMessage: \"文件上傳成功\",\r\n      removedSuccessMessage: \"文件已成功刪除\",\r\n      removedFailedMessage: \"無法刪除文件\",\r\n      inProgress: \"上載中\",\r\n      readyToUploadMessage: \"準備上傳\",\r\n      abort: \"中止\",\r\n      remove: \"去掉\",\r\n      cancel: \"取消\",\r\n      delete: \"刪除文件\",\r\n      pauseUpload: \"文件上傳已暫停\",\r\n      pause: \"暫停\",\r\n      resume: \"恢復\",\r\n      retry: \"重試\",\r\n      fileUploadCancel: \"文件上傳已取消\",\r\n    },\r\n    numerictextbox: {\r\n      incrementTitle: \"增量值\",\r\n      decrementTitle: \"減量值\",\r\n    },\r\n    slider: {\r\n      incrementTitle: \"增加\",\r\n      decrementTitle: \"減少\",\r\n    },\r\n    formValidator: {\r\n      required: \"這是必填欄。\",\r\n      email: \"請輸入有效的電子郵件地址。\",\r\n      url: \"請輸入有效網址。\",\r\n      date: \"請輸入一個有效的日期。\",\r\n      dateIso: \"請輸入有效日期（ISO）。\",\r\n      creditcard: \"請輸入有效的卡號\",\r\n      number: \"請輸入一個有效的數字。\",\r\n      digits: \"請只輸入數字。\",\r\n      maxLength: \"請輸入不超過{0}個字符。\",\r\n      minLength: \"請至少輸入{0}個字符。\",\r\n      rangeLength: \"請輸入一個介於{0}和{1}個字符之間的值。\",\r\n      range: \"請輸入介於{0}和{1}之間的值。\",\r\n      max: \"請輸入小於或等於{0}的值。\",\r\n      min: \"請輸入一個大於或等於{0}的值。\",\r\n      regex: \"請輸入正確的值。\",\r\n      tel: \"請輸入一個有效的電話號碼。\",\r\n      pattern: \"請輸入正確的圖案值。\",\r\n      equalTo: \"請輸入有效的匹配文本\",\r\n    },\r\n    treegrid: {\r\n      Above: \"以上\",\r\n      Below: \"下面\",\r\n      AddRow: \"添加行\",\r\n      ExpandAll: \"展開全部\",\r\n      CollapseAll: \"全部收縮\",\r\n    },\r\n    querybuilder: {\r\n      StartsWith: \"以。。開始\",\r\n      EndsWith: \"以。。結束\",\r\n      Contains: \"包含\",\r\n      NotLike: \"包含\",\r\n      Like: \"不喜欢\",\r\n      Equal: \"等於\",\r\n      NotEqual: \"不平等\",\r\n      LessThan: \"少於\",\r\n      LessThanOrEqual: \"小於或等於\",\r\n      GreaterThan: \"比...更棒\",\r\n      GreaterThanOrEqual: \"大於等於\",\r\n      Between: \"之間\",\r\n      NotBetween: \"不介於\",\r\n      Empty: \"空的\",\r\n      NotEmpty: \"不是空的\",\r\n      In: \"在\",\r\n      NotIn: \"不在\",\r\n      NotContains: \"不包含\",\r\n      Remove: \"去掉\",\r\n      SelectField: \"選擇一個領域\",\r\n      SelectOperator: \"選擇運算符\",\r\n      DeleteRule: \"消除這種情況\",\r\n      DeleteGroup: \"刪除群組\",\r\n      AddGroup: \"新增群組\",\r\n      AddCondition: \"添加條件\",\r\n      Edit: \"編輯\",\r\n      ValidationMessage: \"這是必填欄\",\r\n      SummaryViewTitle: \"摘要視圖\",\r\n      OtherFields: \"其他領域\",\r\n      AND: \"和\",\r\n      OR: \"要么\",\r\n      SelectValue: \"輸入值\",\r\n      IsEmpty: \"是空的\",\r\n      IsNotEmpty: \"不為空\",\r\n      IsNull: \"一片空白\",\r\n      IsNotNull: \"不為空\",\r\n      True: \"真正\",\r\n      False: \"假\",\r\n      DoesNotStartWith: \"不开始于\",\r\n      DoesNotEndWith: \"不结束于\",\r\n      DoesNotContain: \"不含\",\r\n      AddButton: \"添加组/条件\",\r\n      CloneGroup: \"克隆组\",\r\n      LockGroup: \"锁集团\",\r\n      CloneRule: \"克隆规则\",\r\n      LockRule: \"锁定规则\",\r\n      UnlockRule: \"解锁规则\",\r\n      UnlockGroup: \"解锁组\",\r\n    },\r\n    barcode: {},\r\n    datamatrix: {},\r\n    qrcode: {},\r\n    pivotview: {\r\n      applyToGrandTotal: \"适用于总计\",\r\n      grandTotal: \"累計\",\r\n      total: \"總\",\r\n      value: \"值\",\r\n      noValue: \"沒有價值\",\r\n      row: \"行\",\r\n      column: \"柱\",\r\n      collapse: \"坍方\",\r\n      expand: \"擴大\",\r\n      rowAxisPrompt: \"在這裡放行\",\r\n      columnAxisPrompt: \"將列放在此處\",\r\n      valueAxisPrompt: \"在這裡放值\",\r\n      filterAxisPrompt: \"在此放置過濾器\",\r\n      filter: \"過濾\",\r\n      filtered: \"已過濾\",\r\n      sort: \"分類\",\r\n      filters: \"篩選器\",\r\n      rows: \"行數\",\r\n      columns: \"列\",\r\n      values: \"價值觀\",\r\n      close: \"關\",\r\n      cancel: \"取消\",\r\n      delete: \"刪除\",\r\n      CalculatedField: \"計算場\",\r\n      createCalculatedField: \"創建計算字段\",\r\n      fieldName: \"輸入字段名稱\",\r\n      error: \"錯誤\",\r\n      invalidFormula: \"無效的公式。\",\r\n      dropText: \"例如：（'Sum（Order_Count）'+'Sum（In_Stock）'）* 250\",\r\n      dropTextMobile: \"在此處添加字段並編輯公式。\",\r\n      dropAction: \"計算字段不能放置在值軸以外的任何其他區域中。\",\r\n      alert: \"警報\",\r\n      warning: \"警告\",\r\n      ok: \"好\",\r\n      search: \"搜索\",\r\n      drag: \"拖動\",\r\n      remove: \"去掉\",\r\n      allFields: \"所有領域\",\r\n      formula: \"式\",\r\n      addToRow: \"添加到行\",\r\n      addToColumn: \"添加到列\",\r\n      addToValue: \"增值\",\r\n      addToFilter: \"添加到過濾器\",\r\n      emptyData: \"無記錄可顯示\",\r\n      fieldExist: \"此名稱中已經存在一個字段。請輸入其他名稱。\",\r\n      confirmText: \"此名稱中已經存在一個計算字段。您要更換嗎？\",\r\n      noMatches: \"無匹配\",\r\n      format: \"匯總值\",\r\n      edit: \"編輯\",\r\n      clear: \"明確\",\r\n      formulaField: \"拖放字段到公式\",\r\n      dragField: \"將字段拖到公式\",\r\n      clearFilter: \"明確\",\r\n      by: \"通過\",\r\n      all: \"所有\",\r\n      multipleItems: \"多個項目\",\r\n      member: \"會員\",\r\n      label: \"標籤\",\r\n      date: \"日期\",\r\n      enterValue: \"輸入值\",\r\n      chooseDate: \"輸入日期\",\r\n      Before: \"之前\",\r\n      BeforeOrEqualTo: \"之前或等於\",\r\n      After: \"後\",\r\n      AfterOrEqualTo: \"之後或等於\",\r\n      labelTextContent: \"顯示帶有標籤的項目\",\r\n      dateTextContent: \"顯示日期的項目\",\r\n      valueTextContent: \"顯示哪些項目\",\r\n      Equals: \"等於\",\r\n      DoesNotEquals: \"不等於\",\r\n      BeginWith: \"開始於\",\r\n      DoesNotBeginWith: \"並非始於\",\r\n      EndsWith: \"以。。結束\",\r\n      DoesNotEndsWith: \"不以\",\r\n      Contains: \"包含\",\r\n      DoesNotContains: \"不含\",\r\n      GreaterThan: \"比...更棒\",\r\n      GreaterThanOrEqualTo: \"大於或等於\",\r\n      LessThan: \"少於\",\r\n      LessThanOrEqualTo: \"小於或等於\",\r\n      Between: \"之間\",\r\n      NotBetween: \"不介於\",\r\n      And: \"和\",\r\n      Sum: \"和\",\r\n      Count: \"計數\",\r\n      DistinctCount: \"不重複計數\",\r\n      Product: \"產品\",\r\n      Avg: \"平均\",\r\n      Min: \"敏\",\r\n      SampleVar: \"樣本變量\",\r\n      PopulationVar: \"人口變量\",\r\n      RunningTotals: \"運行總計\",\r\n      Max: \"最高\",\r\n      Index: \"指數\",\r\n      SampleStDev: \"樣本標準差\",\r\n      PopulationStDev: \"人口標準\",\r\n      PercentageOfRowTotal: \"行總數的百分比\",\r\n      PercentageOfParentTotal: \"佔家長總數的百分比\",\r\n      PercentageOfParentColumnTotal: \"父欄總計的百分比\",\r\n      PercentageOfParentRowTotal: \"父行總數的百分比\",\r\n      DifferenceFrom: \"區別於\",\r\n      PercentageOfDifferenceFrom: \"相差百分比\",\r\n      PercentageOfGrandTotal: \"佔總數的百分比\",\r\n      PercentageOfColumnTotal: \"佔列總數的百分比\",\r\n      NotEquals: \"不等於\",\r\n      AllValues: \"所有值\",\r\n      conditionalFormatting: \"条件格式\",\r\n      apply: \"應用\",\r\n      condition: \"添加條件\",\r\n      formatLabel: \"格式\",\r\n      valueFieldSettings: \"值字段設置\",\r\n      baseField: \"基本字段：\",\r\n      baseItem: \"基本項目：\",\r\n      summarizeValuesBy: \"通過以下方式匯總值：\",\r\n      sourceName: \"欄位名稱：\",\r\n      sourceCaption: \"現場字幕：\",\r\n      example: \"例如：\",\r\n      editorDataLimitMsg: \" 更多項目。搜索以進一步完善。\",\r\n      details: \"細節\",\r\n      manageRecords: \"管理記錄\",\r\n      Years: \"年份\",\r\n      Quarters: \"宿舍\",\r\n      Months: \"月數\",\r\n      Days: \"天\",\r\n      Hours: \"小時\",\r\n      Minutes: \"分鐘\",\r\n      Seconds: \"秒\",\r\n      save: \"保存報告\",\r\n      new: \"創建一個新報告\",\r\n      load: \"加載\",\r\n      saveAs: \"另存為當前報告\",\r\n      rename: \"重命名當前報告\",\r\n      deleteReport: \"刪除當前報告\",\r\n      export: \"出口\",\r\n      subTotals: \"小計\",\r\n      grandTotals: \"總計\",\r\n      reportName: \"報告名稱：\",\r\n      pdf: \"PDF格式\",\r\n      excel: \"電子表格\",\r\n      csv: \"CSV文件\",\r\n      png: \"PNG\",\r\n      jpeg: \"JPEG格式\",\r\n      svg: \"SVG\",\r\n      mdxQuery: \"MDX查詢\",\r\n      showSubTotals: \"顯示小計\",\r\n      doNotShowSubTotals: \"不顯示總計\",\r\n      showSubTotalsRowsOnly: \"僅顯示小計行\",\r\n      showSubTotalsColumnsOnly: \"僅顯示小計列\",\r\n      showGrandTotals: \"顯示總計\",\r\n      doNotShowGrandTotals: \"不顯示總計\",\r\n      showGrandTotalsRowsOnly: \"僅顯示總計行\",\r\n      showGrandTotalsColumnsOnly: \"僅顯示總計列\",\r\n      fieldList: \"顯示欄位清單\",\r\n      grid: \"顯示表\",\r\n      toolbarFormatting: \"條件格式\",\r\n      chart: \"圖表\",\r\n      reportMsg: \"請輸入有效的報告名稱！！！\",\r\n      reportList: \"報告清單\",\r\n      removeConfirm: \"您確定要刪除此報告嗎？\",\r\n      emptyReport: \"找不到報告！\",\r\n      bar: \"酒吧\",\r\n      line: \"線\",\r\n      area: \"區域\",\r\n      scatter: \"分散\",\r\n      polar: \"極性\",\r\n      of: \"的\",\r\n      emptyFormat: \"找不到格式！！！\",\r\n      emptyInput: \"輸入一個值\",\r\n      newReportConfirm: \"是否要保存更改以報告？\",\r\n      emptyReportName: \"輸入報告名稱\",\r\n      qtr: \"季度\",\r\n      null: \"空值\",\r\n      undefined: \"未定義\",\r\n      groupOutOfRange: \"超出範圍\",\r\n      fieldDropErrorAction: \"您要移動的字段不能放置在報告的該區域中\",\r\n      MoreOption: \"更多...\",\r\n      aggregate: \"骨料\",\r\n      drillThrough: \"鑽透\",\r\n      ascending: \"上升\",\r\n      descending: \"降序\",\r\n      number: \"數\",\r\n      currency: \"貨幣\",\r\n      percentage: \"百分比\",\r\n      formatType: \"格式類型\",\r\n      customText: \"貨幣符號\",\r\n      symbolPosition: \"符號位置\",\r\n      left: \"剩下\",\r\n      right: \"對\",\r\n      grouping: \"分組\",\r\n      true: \"真正\",\r\n      false: \"假\",\r\n      decimalPlaces: \"小數位數\",\r\n      numberFormat: \"數字格式\",\r\n      memberType: \"欄位類型\",\r\n      formatString: \"格式字符串\",\r\n      expressionField: \"表達\",\r\n      customFormat: \"輸入自定義格式字符串\",\r\n      selectedHierarchy: \"家長階層\",\r\n      olapDropText: \"例如：[度量]。[訂單數量] +（[度量]。[訂單數量] * 0.10）\",\r\n      Percent: \"百分\",\r\n      Custom: \"自訂\",\r\n      Measure: \"測量\",\r\n      Dimension: \"尺寸\",\r\n      Standard: \"標準\",\r\n      blank: \"（空白）\",\r\n      fieldTooltip:\r\n        \"拖放字段以創建表達式。並且，如果要編輯現有的計算字段！然後，您只需選擇“計算所得成員”下的字段即可實現。\",\r\n      QuarterYear: \"季度年\",\r\n      fieldTitle: \"欄位名稱\",\r\n      drillError: \"無法顯示計算字段的原始項目。\",\r\n      caption: \"現場字幕\",\r\n      copy: \"複製\",\r\n      defaultReport: \"默認報告\",\r\n      customFormatString: \"自訂格式\",\r\n      invalidFormat: \"無效的格式。\",\r\n      group: \"組\",\r\n      unGroup: \"取消分組\",\r\n      invalidSelection: \"無法將該選擇分組。\",\r\n      groupName: \"輸入標題以顯示在標題中\",\r\n      captionName: \"輸入組標題\",\r\n      selectedItems: \"選定項目\",\r\n      groupFieldCaption: \"現場字幕\",\r\n      groupTitle: \"組的名字\",\r\n      startAt: \"開始於\",\r\n      endAt: \"結束於\",\r\n      groupBy: \"間隔時間\",\r\n      selectGroup: \"選擇組\",\r\n      numberFormatString: \"示例：C，P，0000％，### 0。## 0＃等\",\r\n      stackingcolumn: \"堆積柱\",\r\n      stackingbar: \"疊桿\",\r\n      stackingarea: \"堆積面積\",\r\n      stepline: \"階梯線\",\r\n      steparea: \"台階面積\",\r\n      splinearea: \"花鍵面積\",\r\n      spline: \"花鍵\",\r\n      stackingcolumn100: \"100％堆積柱\",\r\n      stackingbar100: \"100％堆積酒吧\",\r\n      stackingarea100: \"100％堆積面積\",\r\n      bubble: \"氣泡\",\r\n      pareto: \"帕累托\",\r\n      radar: \"雷達\",\r\n      chartTypeSettings: \"圖表類型設置\",\r\n      multipleAxes: \"多軸\",\r\n      sortAscending: \"升序排序\",\r\n      sortDescending: \"降序排列\",\r\n      sortNone: \"排序數據順序\",\r\n      clearCalculatedField: \"清除編輯的字段信息\",\r\n      editCalculatedField: \"編輯計算字段\",\r\n      ChartType: \"圖表類型\",\r\n      yes: \"是\",\r\n      no: \"沒有\",\r\n      numberFormatMenu: \"數字格式...\",\r\n      conditionalFormattingMenu: \"条件格式...\",\r\n      removeCalculatedField: \"您確定要刪除此計算字段嗎？\",\r\n      replaceConfirmBefore: \"一份名為\",\r\n      replaceConfirmAfter: \" 已經存在。您要更換嗎？\",\r\n      pie: \"馅饼\",\r\n      funnel: \"漏斗\",\r\n      doughnut: \"甜甜圈\",\r\n      pyramid: \"金字塔\",\r\n      showLegend: \"显示图例\",\r\n      exit: \"出口\",\r\n      invalidJSON: \"无效的JSON数据\",\r\n      invalidCSV: \"无效的CSV数据\",\r\n      stacked: \"堆叠式\",\r\n      single: \"单身的\",\r\n      multipleAxisMode: \"多轴模式\",\r\n      grandTotalPosition: \"总计位置\",\r\n      top: \"最佳\",\r\n      bottom: \"底部\",\r\n      None: \"没有任何\",\r\n      stackingline: \"叠线\",\r\n      stackingline100: \"100% 叠线\",\r\n      rowPage: \"行寻呼机\",\r\n      rowPerPage: \"每页行数\",\r\n      columnPage: \"列寻呼机\",\r\n      columnPerPage: \"每页列数\",\r\n      goToFirstPage: \"转到第一页\",\r\n      goToPreviousPage: \"转到上一页\",\r\n      goToNextPage: \"转到下一页\",\r\n      goToLastPage: \"转到最后一页\",\r\n      combined: \"联合\",\r\n      subTotalPosition: \"小计位置\",\r\n      auto: \"汽車\",\r\n      loading: \"加载中...\",\r\n      add: \"添加\",\r\n    },\r\n    pivotfieldlist: {\r\n      staticFieldList: \"樞軸字段列表\",\r\n      fieldList: \"欄位清單\",\r\n      dropFilterPrompt: \"在此放置過濾器\",\r\n      dropColPrompt: \"將列放在此處\",\r\n      dropRowPrompt: \"在這裡放行\",\r\n      dropValPrompt: \"在這裡放值\",\r\n      addPrompt: \"在此處添加字段\",\r\n      adaptiveFieldHeader: \"選擇欄位\",\r\n      centerHeader: \"在以下軸之間拖動字段：\",\r\n      add: \"加\",\r\n      drag: \"拖動\",\r\n      filter: \"過濾\",\r\n      filtered: \"已過濾\",\r\n      sort: \"分類\",\r\n      remove: \"去掉\",\r\n      filters: \"篩選器\",\r\n      rows: \"行數\",\r\n      columns: \"列\",\r\n      values: \"價值觀\",\r\n      CalculatedField: \"計算場\",\r\n      createCalculatedField: \"創建計算字段\",\r\n      fieldName: \"輸入字段名稱\",\r\n      error: \"錯誤\",\r\n      invalidFormula: \"無效的公式。\",\r\n      dropText: \"例如：（'Sum（Order_Count）'+'Sum（In_Stock）''）* 250\",\r\n      dropTextMobile: \"在此處添加字段並編輯公式。\",\r\n      dropAction: \"計算字段不能放置在值軸以外的任何其他區域中。\",\r\n      search: \"搜索\",\r\n      close: \"關\",\r\n      cancel: \"取消\",\r\n      delete: \"刪除\",\r\n      alert: \"警報\",\r\n      warning: \"警告\",\r\n      ok: \"好\",\r\n      allFields: \"所有領域\",\r\n      formula: \"式\",\r\n      fieldExist: \"此名稱中已經存在一個字段。請輸入其他名稱。\",\r\n      confirmText: \"此名稱中已經存在一個計算字段。您要更換嗎？\",\r\n      noMatches: \"無匹配\",\r\n      format: \"匯總值\",\r\n      edit: \"編輯\",\r\n      clear: \"明確\",\r\n      formulaField: \"拖放字段到公式\",\r\n      dragField: \"將字段拖到公式\",\r\n      clearFilter: \"明確\",\r\n      by: \"通過\",\r\n      enterValue: \"輸入值\",\r\n      chooseDate: \"輸入日期\",\r\n      all: \"所有\",\r\n      multipleItems: \"多個項目\",\r\n      Equals: \"等於\",\r\n      DoesNotEquals: \"不等於\",\r\n      BeginWith: \"開始於\",\r\n      DoesNotBeginWith: \"並非始於\",\r\n      EndsWith: \"以。。結束\",\r\n      DoesNotEndsWith: \"不以\",\r\n      Contains: \"包含\",\r\n      DoesNotContains: \"不含\",\r\n      GreaterThan: \"比...更棒\",\r\n      GreaterThanOrEqualTo: \"大於或等於\",\r\n      LessThan: \"少於\",\r\n      LessThanOrEqualTo: \"小於或等於\",\r\n      Between: \"之間\",\r\n      NotBetween: \"不介於\",\r\n      Before: \"之前\",\r\n      BeforeOrEqualTo: \"之前或等於\",\r\n      After: \"後\",\r\n      AfterOrEqualTo: \"之後或等於\",\r\n      member: \"會員\",\r\n      label: \"標籤\",\r\n      date: \"日期\",\r\n      value: \"值\",\r\n      labelTextContent: \"顯示帶有標籤的項目\",\r\n      dateTextContent: \"顯示日期的項目\",\r\n      valueTextContent: \"顯示哪些項目\",\r\n      And: \"和\",\r\n      Sum: \"和\",\r\n      Count: \"計數\",\r\n      DistinctCount: \"不重複計數\",\r\n      Product: \"產品\",\r\n      Avg: \"平均\",\r\n      Min: \"敏\",\r\n      Max: \"最高\",\r\n      Index: \"指數\",\r\n      SampleStDev: \"樣本標準差\",\r\n      PopulationStDev: \"人口標準\",\r\n      SampleVar: \"樣本變量\",\r\n      PopulationVar: \"人口變量\",\r\n      RunningTotals: \"運行總計\",\r\n      DifferenceFrom: \"區別於\",\r\n      PercentageOfDifferenceFrom: \"相差百分比\",\r\n      PercentageOfGrandTotal: \"佔總數的百分比\",\r\n      PercentageOfColumnTotal: \"佔列總數的百分比\",\r\n      PercentageOfRowTotal: \"行總數的百分比\",\r\n      PercentageOfParentTotal: \"佔家長總數的百分比\",\r\n      PercentageOfParentColumnTotal: \"父欄總計的百分比\",\r\n      PercentageOfParentRowTotal: \"父行總數的百分比\",\r\n      Years: \"年份\",\r\n      Quarters: \"宿舍\",\r\n      Months: \"月數\",\r\n      Days: \"天\",\r\n      Hours: \"小時\",\r\n      Minutes: \"分鐘\",\r\n      Seconds: \"秒\",\r\n      apply: \"應用\",\r\n      valueFieldSettings: \"值字段設置\",\r\n      sourceName: \"欄位名稱：\",\r\n      sourceCaption: \"現場字幕：\",\r\n      summarizeValuesBy: \"通過以下方式匯總值：\",\r\n      baseField: \"基本字段：\",\r\n      baseItem: \"基本項目：\",\r\n      example: \"例如：\",\r\n      editorDataLimitMsg: \" 更多項目。搜索以進一步完善。\",\r\n      deferLayoutUpdate: \"延遲佈局更新\",\r\n      null: \"空值\",\r\n      undefined: \"未定義\",\r\n      groupOutOfRange: \"超出範圍\",\r\n      fieldDropErrorAction: \"您要移動的字段不能放置在報告的該區域中\",\r\n      MoreOption: \"更多...\",\r\n      memberType: \"欄位類型\",\r\n      selectedHierarchy: \"家長階層\",\r\n      formatString: \"格式字符串\",\r\n      expressionField: \"表達\",\r\n      olapDropText: \"例如：[度量]。[訂單數量] +（[度量]。[訂單數量] * 0.10）\",\r\n      customFormat: \"輸入自定義格式字符串\",\r\n      Measure: \"測量\",\r\n      Dimension: \"尺寸\",\r\n      Standard: \"標準\",\r\n      Currency: \"貨幣\",\r\n      Percent: \"百分\",\r\n      Custom: \"自訂\",\r\n      blank: \"（空白）\",\r\n      fieldTooltip:\r\n        \"拖放字段以創建表達式。並且，如果要編輯現有的計算字段！您只需選擇“計算所得成員”下的字段即可實現。\",\r\n      fieldTitle: \"欄位名稱\",\r\n      QuarterYear: \"季度年\",\r\n      caption: \"現場字幕\",\r\n      copy: \"複製\",\r\n      group: \"組\",\r\n      numberFormatString: \"示例：C，P，0000％，### 0。## 0＃等\",\r\n      sortAscending: \"升序排序\",\r\n      sortDescending: \"降序排列\",\r\n      sortNone: \"排序數據順序\",\r\n      clearCalculatedField: \"清除編輯的字段信息\",\r\n      editCalculatedField: \"編輯計算字段\",\r\n      selectGroup: \"選擇組\",\r\n      of: \"的\",\r\n      removeCalculatedField: \"您確定要刪除此計算字段嗎？\",\r\n      yes: \"是\",\r\n      no: \"沒有\",\r\n      None: \"没有任何\",\r\n    },\r\n    pdfviewer: {\r\n      PdfViewer: \"PDF查看器\",\r\n      Cancel: \"取消\",\r\n      \"Download file\": \"下載文件\",\r\n      Download: \"下載\",\r\n      \"Enter Password\": \"本文檔受密碼保護。請輸入密碼。\",\r\n      \"File Corrupted\": \"文件損壞\",\r\n      \"File Corrupted Content\": \"該文件已損壞，無法打開。\",\r\n      \"Fit Page\": \"適合頁面\",\r\n      \"Fit Width\": \"適合寬度\",\r\n      Automatic: \"自動\",\r\n      \"Go To First Page\": \"顯示第一頁\",\r\n      \"Invalid Password\": \"密碼錯誤。請再試一遍。\",\r\n      \"Next Page\": \"顯示下一頁\",\r\n      OK: \"好的\",\r\n      Open: \"打開文件\",\r\n      \"Page Number\": \"當前頁碼\",\r\n      \"Previous Page\": \"顯示上一頁\",\r\n      \"Go To Last Page\": \"顯示最後一頁\",\r\n      Zoom: \"放大\",\r\n      \"Zoom In\": \"放大\",\r\n      \"Zoom Out\": \"縮小\",\r\n      \"Page Thumbnails\": \"頁面縮略圖\",\r\n      Bookmarks: \"書籤\",\r\n      Print: \"打印文件\",\r\n      \"Password Protected\": \"需要密碼\",\r\n      Copy: \"複製\",\r\n      \"Text Selection\": \"文字選擇工具\",\r\n      Panning: \"平移模式\",\r\n      \"Text Search\": \"查找文字\",\r\n      \"Find in document\": \"在文件中尋找\",\r\n      \"Match case\": \"相符\",\r\n      Apply: \"應用\",\r\n      GoToPage: \"轉到頁面\",\r\n      \"No matches\": \"查看器已完成文檔搜索。找不到更多匹配項\",\r\n      \"No Text Found\": \"找不到文字\",\r\n      Undo: \"撤消\",\r\n      Redo: \"重做\",\r\n      Annotation: \"添加或編輯註釋\",\r\n      Highlight: \"突出顯示文字\",\r\n      Underline: \"下劃線文字\",\r\n      Strikethrough: \"刪除線文字\",\r\n      Delete: \"刪除註釋\",\r\n      Opacity: \"不透明度\",\r\n      \"Color edit\": \"換顏色\",\r\n      \"Opacity edit\": \"更改不透明度\",\r\n      \"Highlight context\": \"突出\",\r\n      \"Underline context\": \"強調\",\r\n      \"Strikethrough context\": \"罷工\",\r\n      \"Server error\":\r\n        \"Web服務未監聽。 PDF Viewer的所有功能都依賴於Web服務。請啟動網絡服務以繼續。\",\r\n      \"Open text\": \"打開\",\r\n      \"First text\": \"第一頁\",\r\n      \"Previous text\": \"上一頁\",\r\n      \"Next text\": \"下一頁\",\r\n      \"Last text\": \"最後一頁\",\r\n      \"Zoom in text\": \"放大\",\r\n      \"Zoom out text\": \"縮小\",\r\n      \"Selection text\": \"選拔\",\r\n      \"Pan text\": \"泛\",\r\n      \"Print text\": \"打印\",\r\n      \"Search text\": \"搜索\",\r\n      \"Annotation Edit text\": \"編輯註釋\",\r\n      \"Line Thickness\": \"線的粗細\",\r\n      \"Line Properties\": \"線屬性\",\r\n      \"Start Arrow\": \"開始箭頭\",\r\n      \"End Arrow\": \"結束箭頭\",\r\n      \"Line Style\": \"線型\",\r\n      \"Fill Color\": \"填色\",\r\n      \"Line Color\": \"線色\",\r\n      None: \"沒有\",\r\n      \"Open Arrow\": \"打開\",\r\n      \"Closed Arrow\": \"關閉\",\r\n      \"Round Arrow\": \"回合\",\r\n      \"Square Arrow\": \"廣場\",\r\n      \"Diamond Arrow\": \"鑽石\",\r\n      Butt: \"屁股\",\r\n      Cut: \"切\",\r\n      Paste: \"糊\",\r\n      \"Delete Context\": \"刪除\",\r\n      Properties: \"物產\",\r\n      \"Add Stamp\": \"加蓋郵票\",\r\n      \"Add Shapes\": \"添加形狀\",\r\n      \"Stroke edit\": \"更改筆觸顏色\",\r\n      \"Change thickness\": \"更改邊框厚度\",\r\n      \"Add line\": \"加線\",\r\n      \"Add arrow\": \"添加箭頭\",\r\n      \"Add rectangle\": \"添加矩形\",\r\n      \"Add circle\": \"添加圈子\",\r\n      \"Add polygon\": \"添加多邊形\",\r\n      \"Add Comments\": \"添加評論\",\r\n      Comments: \"註釋\",\r\n      \"No Comments Yet\": \"暫時沒有評論\",\r\n      Accepted: \"公認\",\r\n      Completed: \"已完成\",\r\n      Cancelled: \"取消\",\r\n      Rejected: \"拒絕\",\r\n      \"Leader Length\": \"引線長度\",\r\n      \"Scale Ratio\": \"比例比\",\r\n      Calibrate: \"校準\",\r\n      \"Calibrate Distance\": \"校準距離\",\r\n      \"Calibrate Perimeter\": \"校準周長\",\r\n      \"Calibrate Area\": \"校準區域\",\r\n      \"Calibrate Radius\": \"校準半徑\",\r\n      \"Calibrate Volume\": \"校準體積\",\r\n      highlight: \"强调\",\r\n      underline: \"强调\",\r\n      strikethrough: \"击穿\",\r\n      \"Seach text\": \"搜索\",\r\n      FormDesigner: \"添加和编辑表单域\",\r\n      \"Client error\":\r\n        \"发现客户端错误。请检查 AjaxRequestSettings 属性中提供的自定义标头和 ServerActionSettings 属性中的 Web 操作方法。\",\r\n      \"FormDesigner Edit text\": \"添加和编辑表单域\",\r\n      SubmitForm: \"提交表格\",\r\n      Depth: \"深度\",\r\n      Closed: \"关闭\",\r\n      Round: \"圆形的\",\r\n      Square: \"正方形\",\r\n      Diamond: \"钻石\",\r\n      Edit: \"编辑\",\r\n      Comment: \"评论\",\r\n      \"Comment Panel\": \"评论面板\",\r\n      \"Set Status\": \"设置状态\",\r\n      Post: \"邮政\",\r\n      Page: \"页\",\r\n      \"Add a comment\": \"添加评论\",\r\n      \"Add a reply\": \"添加回复\",\r\n      \"Import Annotations\": \"从JSON文件导入注释\",\r\n      \"Export Annotations\": \"将注释导出到JSON文件\",\r\n      \"Export XFDF\": \"将注释导出到XFDF文件\",\r\n      \"Import XFDF\": \"从XFDF文件导入注释\",\r\n      Add: \"添加\",\r\n      Clear: \"清除\",\r\n      Bold: \"大胆的\",\r\n      Italic: \"斜体\",\r\n      Strikethroughs: \"删除线\",\r\n      Underlines: \"强调\",\r\n      Superscript: \"上标\",\r\n      Subscript: \"下标\",\r\n      \"Align left\": \"左对齐\",\r\n      \"Align right\": \"左对齐\",\r\n      Center: \"中心\",\r\n      Justify: \"证明合法\",\r\n      \"Font color\": \"字体颜色\",\r\n      \"Text Align\": \"文本对齐\",\r\n      \"Text Properties\": \"字体样式\",\r\n      SignatureFieldDialogHeaderText: \"添加签名\",\r\n      HandwrittenSignatureDialogHeaderText: \"添加签名\",\r\n      InitialFieldDialogHeaderText: \"添加首字母\",\r\n      HandwrittenInitialDialogHeaderText: \"添加首字母\",\r\n      \"Draw Ink\": \"墨水\",\r\n      Create: \"创建\",\r\n      \"Font family\": \"字体系列\",\r\n      \"Font size\": \"字体大小\",\r\n      \"Free Text\": \"自由文本\",\r\n      \"Import Failed\": \"无效的JSON文件类型或文件名；请选择一个有效的JSON文件\",\r\n      \"File not found\": \"在所需位置找不到导入的JSON文件\",\r\n      \"Export Failed\": \"导出注释操作失败；请确保正确添加注释\",\r\n      of: \"的 \",\r\n      Dynamic: \"动态的\",\r\n      \"Standard Business\": \"标准业务\",\r\n      \"Sign Here\": \"在这里签名\",\r\n      \"Custom Stamp\": \"定制邮票\",\r\n      \"Enter Signature as Name\": \"输入你的名字\",\r\n      \"Draw-hand Signature\": \"画\",\r\n      \"Type Signature\": \"类型\",\r\n      \"Upload Signature\": \"上传\",\r\n      \"Browse Signature Image\": \"浏览\",\r\n      \"Save Signature\": \"保存签名\",\r\n      \"Save Initial\": \"保存初始\",\r\n      Textbox: \"文本框\",\r\n      Password: \"密码\",\r\n      \"Check Box\": \"复选框\",\r\n      \"Radio Button\": \"单选按钮\",\r\n      Dropdown: \"落下\",\r\n      \"List Box\": \"列表框\",\r\n      Signature: \"签名\",\r\n      \"Delete FormField\": \"删除表单域\",\r\n      \"Textbox Properties\": \"文本框属性\",\r\n      Name: \"姓名\",\r\n      Tooltip: \"工具提示\",\r\n      Value: \"价值\",\r\n      \"Form Field Visibility\": \"表单字段可见性\",\r\n      \"Read Only\": \"只读\",\r\n      Required: \"必需的\",\r\n      Checked: \"已检查\",\r\n      \"Show Printing\": \"展示印刷\",\r\n      Formatting: \"格式\",\r\n      Fill: \"充满\",\r\n      Border: \"边界\",\r\n      \"Border Color\": \"边框颜色\",\r\n      Thickness: \"厚度\",\r\n      \"Max Length\": \"最长长度\",\r\n      \"List Item\": \"项目名\",\r\n      \"Export Value\": \"项目价值\",\r\n      \"Dropdown Item List\": \"下拉项目列表\",\r\n      \"List Box Item List\": \"列表框项目列表\",\r\n      General: \"一般的\",\r\n      Appearance: \"外貌\",\r\n      Options: \"选项\",\r\n      \"Delete Item\": \"删除\",\r\n      Up: \"向上\",\r\n      Down: \"下\",\r\n      Multiline: \"多行\",\r\n      Revised: \"修改\",\r\n      Reviewed: \"已审核\",\r\n      Received: \"已收到\",\r\n      Confidential: \"机密的\",\r\n      Approved: \"得到正式认可的\",\r\n      \"Not Approved\": \"不批准\",\r\n      Witness: \"见证\",\r\n      \"Initial Here\": \"初始在这里\",\r\n      Draft: \"草稿\",\r\n      Final: \"最后\",\r\n      \"For Public Release\": \"公开发布\",\r\n      \"Not For Public Release\": \"不公开发布\",\r\n      \"For Comment\": \"征求意见\",\r\n      Void: \"空白\",\r\n      \"Preliminary Results\": \"初步结果\",\r\n      \"Information Only\": \"仅供参考\",\r\n      in: \"在\",\r\n      m: \"米\",\r\n      ft_in: \"ft_in\",\r\n      ft: \"英尺\",\r\n      p: \"p\",\r\n      cm: \"厘米\",\r\n      mm: \"毫米\",\r\n      pt: \"点\",\r\n      cu: \"铜\",\r\n      sq: \"平方米\",\r\n      Initial: \"最初的\",\r\n    },\r\n    diagram: {\r\n      Copy: \"複製\",\r\n      Cut: \"切\",\r\n      Paste: \"糊\",\r\n      Undo: \"撤消\",\r\n      Redo: \"重做\",\r\n      SelectAll: \"全選\",\r\n      Grouping: \"分組\",\r\n      Group: \"組\",\r\n      UnGroup: \"取消分組\",\r\n      Order: \"訂購\",\r\n      BringToFront: \"向前走\",\r\n      MoveForward: \"前進\",\r\n      SendToBack: \"發送回\",\r\n      SendBackward: \"向後發送\",\r\n    },\r\n    \"inplace-editor\": {\r\n      save: \"保存\",\r\n      cancel: \"取消\",\r\n      loadingText: \"加载中...\",\r\n      editIcon: \"點擊編輯\",\r\n      editAreaClick: \"点击编辑\",\r\n      editAreaDoubleClick: \"双击即可编辑\",\r\n    },\r\n    drawing: {},\r\n    \"drop-down-base\": {\r\n      noRecordsTemplate: \"沒有找到記錄\",\r\n      actionFailureTemplate: \"請求失敗\",\r\n    },\r\n    chart: {\r\n      Zoom: \"放大\",\r\n      ZoomIn: \"放大\",\r\n      ZoomOut: \"縮小\",\r\n      Reset: \"重啟\",\r\n      Pan: \"泛\",\r\n      ResetZoom: \"重設縮放\",\r\n    },\r\n    maps: {\r\n      Zoom: \"放大\",\r\n      ZoomIn: \"放大\",\r\n      ZoomOut: \"縮小\",\r\n      Reset: \"重啟\",\r\n      Pan: \"泛\",\r\n      ResetZoom: \"重設縮放\",\r\n      ImageNotFound: \"图片未找到\",\r\n    },\r\n    \"drop-down-tree\": {\r\n      noRecordsTemplate: \"沒有找到記錄\",\r\n      actionFailureTemplate: \"請求失敗\",\r\n      overflowCountTemplate: \"+ ${count}更多..\",\r\n      totalCountTemplate: \"已選擇${count}個\",\r\n    },\r\n    documenteditor: {\r\n      Table: \"表\",\r\n      Row: \"行\",\r\n      Cell: \"細胞\",\r\n      Ok: \"好\",\r\n      Apply: \"缓慢而轻松\",\r\n      Cancel: \"取消\",\r\n      Size: \"尺寸\",\r\n      \"Preferred Width\": \"首選寬度\",\r\n      Points: \"积分\",\r\n      Percent: \"百分\",\r\n      \"Measure in\": \"量度\",\r\n      Alignment: \"结盟\",\r\n      Left: \"左边\",\r\n      Center: \"中心\",\r\n      Right: \"正确的\",\r\n      Decimal: \"第一个小数位\",\r\n      Bar: \"和一半\",\r\n      Leader: \"操作\",\r\n      Tab: \"逾期账户\",\r\n      BookMarkList: \"显示文档列表\",\r\n      TabMarkList: \"显示段落页\",\r\n      \"Tab stop position\": \"磁盘空间\",\r\n      \"Default tab stops\": \"卡丁车比赛太棒了。\",\r\n      \"Tab stops to be cleared\": \"补卡\",\r\n      Tabs: \"选项卡窗口\",\r\n      Set: \"使用\",\r\n      Clear: \"电话\",\r\n      \"Clear All\": \"删除所有内容\",\r\n      Justify: \"证明合法\",\r\n      \"Indent from left\": \"从左缩进\",\r\n      \"Borders and Shading\": \"边框和阴影\",\r\n      Options: \"选项\",\r\n      \"Specify height\": \"指定高度\",\r\n      \"At least\": \"至少\",\r\n      Exactly: \"确切地\",\r\n      \"Row height is\": \"行高为\",\r\n      \"Allow row to break across pages\": \"允许行跨页\",\r\n      \"Repeat as header row at the top of each page\":\r\n        \"在每页顶部重复作为标题行\",\r\n      \"Vertical alignment\": \"垂直对齐\",\r\n      Top: \"顶部\",\r\n      Bottom: \"底部\",\r\n      \"Default cell margins\": \"默认单元格边距\",\r\n      \"Default cell spacing\": \"默认单元格间距\",\r\n      \"Allow spacing between cells\": \"允许单元格之间的间距\",\r\n      \"Cell margins\": \"单元格边距\",\r\n      \"Same as the whole table\": \"和整张桌子一样\",\r\n      Borders: \"边框\",\r\n      None: \"没有任何\",\r\n      Style: \"风格\",\r\n      Width: \"宽度\",\r\n      Height: \"高度\",\r\n      Letter: \"信\",\r\n      Tabloid: \"小报\",\r\n      Legal: \"合法的\",\r\n      Statement: \"聲明\",\r\n      Executive: \"管理人员\",\r\n      A3: \"A3\",\r\n      A4: \"A4\",\r\n      A5: \"A5\",\r\n      B4: \"B4\",\r\n      B5: \"B5\",\r\n      \"Custom Size\": \"自定义大小\",\r\n      \"Different odd and even\": \"奇偶不同\",\r\n      \"Different first page\": \"第一页不同\",\r\n      \"From edge\": \"从边缘\",\r\n      Header: \"标头\",\r\n      Footer: \"页脚\",\r\n      \"First Page Header\": \"第一页标题\",\r\n      \"First Page Footer\": \"首页页脚\",\r\n      \"Even Page Header\": \"偶数页眉\",\r\n      \"Even Page Footer\": \"偶数页脚\",\r\n      \"Odd Page Header\": \"奇数页眉\",\r\n      \"Odd Page Footer\": \"奇数页脚\",\r\n      \"Same as Previous\": \"与上一个相同\",\r\n      Section: \"部分\",\r\n      Margin: \"边距\",\r\n      Paper: \"纸\",\r\n      Layout: \"布局\",\r\n      Orientation: \"方向\",\r\n      Landscape: \"景观\",\r\n      Portrait: \"肖像\",\r\n      \"Show page numbers\": \"显示页码\",\r\n      \"Right align page numbers\": \"右对齐页码\",\r\n      Nothing: \"没有什么\",\r\n      \"Tab leader\": \"制表头\",\r\n      \"Show levels\": \"显示级别\",\r\n      \"Use hyperlinks instead of page numbers\": \"使用超链接而不是页码\",\r\n      \"Build table of contents from\": \"从中构建目录\",\r\n      Styles: \"样式\",\r\n      \"Available styles\": \"可用款式\",\r\n      \"TOC level\": \"TOC等级\",\r\n      Heading: \"标题\",\r\n      \"Heading 1\": \"标题 1\",\r\n      \"Heading 2\": \"标题 2\",\r\n      \"Heading 3\": \"标题 3\",\r\n      \"Heading 4\": \"标题 4\",\r\n      \"Heading 5\": \"标题 5\",\r\n      \"Heading 6\": \"标题 6\",\r\n      \"List Paragraph\": \"列出段落\",\r\n      Normal: \"普通的\",\r\n      \"Outline levels\": \"大綱級別\",\r\n      \"Table entry fields\": \"表格条目字段\",\r\n      Modify: \"调整\",\r\n      Color: \"颜色\",\r\n      Setting: \"环境\",\r\n      Box: \"盒子\",\r\n      All: \"全部\",\r\n      Custom: \"风俗\",\r\n      Preview: \"预览\",\r\n      Shading: \"底纹\",\r\n      Fill: \"充满\",\r\n      \"Apply To\": \"适用于\",\r\n      \"Table Properties\": \"表格属性\",\r\n      \"Cell Options\": \"单元选项\",\r\n      \"Table Options\": \"表格选项\",\r\n      \"Insert Table\": \"插入表格\",\r\n      \"Number of columns\": \"列数\",\r\n      \"Number of rows\": \"行数\",\r\n      \"Text to display\": \"要显示的文本\",\r\n      \"ScreenTip text\": \"屏幕提示文本\",\r\n      Address: \"地址\",\r\n      \"Insert Hyperlink\": \"插入超链接\",\r\n      \"Edit Hyperlink\": \"编辑超链接\",\r\n      Insert: \"插入\",\r\n      General: \"一般的\",\r\n      \"The number must be between\": \"数字必须在 1 到 9 之间\",\r\n      \"The Invalid number\": \"这不是一个有效的号码\",\r\n      Indentation: \"缩进\",\r\n      \"Before text\": \"正文前\",\r\n      Special: \"特别的\",\r\n      \"First line\": \"第一行\",\r\n      Hanging: \"绞刑\",\r\n      \"After text\": \"文字后\",\r\n      By: \"经过\",\r\n      Before: \"前\",\r\n      \"Line Spacing\": \"行间距\",\r\n      After: \"后\",\r\n      At: \"在\",\r\n      Multiple: \"多种的\",\r\n      Spacing: \"间距\",\r\n      \"Define new Multilevel list\": \"定义新的多级列表\",\r\n      \"List level\": \"列表级别\",\r\n      \"Choose level to modify\": \"选择要修改的级别\",\r\n      Level: \"等级\",\r\n      \"Number format\": \"数字格式\",\r\n      \"Number style for this level\": \"此级别的数字样式\",\r\n      \"Enter formatting for number\": \"输入数字格式\",\r\n      \"Start at\": \"开始于\",\r\n      \"Restart list after\": \"之后重新启动列表\",\r\n      Position: \"位置\",\r\n      \"Text indent at\": \"文字缩进于\",\r\n      \"Aligned at\": \"对齐于\",\r\n      \"Follow number with\": \"关注号码\",\r\n      \"Tab character\": \"制表符\",\r\n      Space: \"空间\",\r\n      Arabic: \"阿拉伯\",\r\n      UpRoman: \"UpRoman\",\r\n      LowRoman: \"低罗马音\",\r\n      UpLetter: \"上信\",\r\n      LowLetter: \"低信\",\r\n      Number: \"數\",\r\n      \"Leading zero\": \"前导零\",\r\n      Bullet: \"子弹\",\r\n      Ordinal: \"序数\",\r\n      \"Ordinal Text\": \"序數文字\",\r\n      \"For East\": \"对于东\",\r\n      \"No Restart\": \"不重启\",\r\n      Font: \"字体\",\r\n      \"Font style\": \"字体样式\",\r\n      \"Underline style\": \"下划线样式\",\r\n      \"Font color\": \"字体颜色\",\r\n      Effects: \"效果\",\r\n      Strikethrough: \"删除线\",\r\n      Superscript: \"上标\",\r\n      Subscript: \"下标\",\r\n      \"Double strikethrough\": \"双删除线\",\r\n      Regular: \"常规的\",\r\n      Bold: \"大胆的\",\r\n      Italic: \"斜体\",\r\n      Cut: \"切\",\r\n      Copy: \"复制\",\r\n      Paste: \"粘贴\",\r\n      Hyperlink: \"超级链接\",\r\n      \"Open Hyperlink\": \"打开超链接\",\r\n      \"Copy Hyperlink\": \"复制超链接\",\r\n      \"Remove Hyperlink\": \"删除超链接\",\r\n      Paragraph: \"段落\",\r\n      \"Linked Style\": \"链接（段落和字符）\",\r\n      Character: \"特点\",\r\n      \"Merge Cells\": \"合并单元格\",\r\n      \"Insert Above\": \"在上方插入\",\r\n      \"Insert Below\": \"在下方插入\",\r\n      \"Insert Left\": \"向左插入\",\r\n      \"Insert Right\": \"右插入\",\r\n      Delete: \"删除\",\r\n      \"Delete Table\": \"删除表\",\r\n      \"Delete Row\": \"删除行\",\r\n      \"Delete Column\": \"删除列\",\r\n      \"File Name\": \"文件名\",\r\n      \"Format Type\": \"格式类型\",\r\n      Save: \"节省\",\r\n      Navigation: \"导航\",\r\n      Results: \"结果\",\r\n      Replace: \"代替\",\r\n      \"Replace All\": \"全部替换\",\r\n      \"We replaced all\": \"我们全部换掉\",\r\n      Find: \"寻找\",\r\n      \"No matches\": \"无匹配\",\r\n      \"All Done\": \"全做完了\",\r\n      Result: \"结果\",\r\n      of: \"的\",\r\n      instances: \"实例\",\r\n      with: \"和\",\r\n      \"Click to follow link\": \"点击跟随链接\",\r\n      \"Continue Numbering\": \"继续编号\",\r\n      \"Bookmark name\": \"书签名称\",\r\n      Close: \"关闭\",\r\n      \"Restart At\": \"重启时间\",\r\n      Properties: \"特性\",\r\n      Name: \"姓名\",\r\n      \"Style type\": \"款式类型\",\r\n      \"Style based on\": \"风格基于\",\r\n      \"Style for following paragraph\": \"以下段落的样式\",\r\n      Formatting: \"格式化\",\r\n      \"Numbering and Bullets\": \"编号和项目符号\",\r\n      Numbering: \"编号\",\r\n      \"Update Field\": \"更新字段\",\r\n      \"Edit Field\": \"编辑字段\",\r\n      Bookmark: \"书签\",\r\n      \"Page Setup\": \"页面设置\",\r\n      \"No bookmarks found\": \"找不到书签\",\r\n      \"Number format tooltip information\":\r\n        \"单级数字格式：</br>[PREFIX]%[LEVELNUMBER][SUFFIX]</br>例如，“第 %1 章”。 将显示编号如</br>第1章项目</br>第2章项目</br>... </br>第N章项目</br> </br>多级编号格式：</br>[ PREFIX]%[LEVELNUMBER][SUFFIX]+[PREFIX]%[LEVELNUMBER][SUFFIX]</br>例如，'%1.%2.' 将显示编号，如</br>1.1。 项目</br>1.2。 项目</br>…</br>1.N. 物品\",\r\n      Format: \"格式\",\r\n      \"Create New Style\": \"创造新风格\",\r\n      \"Modify Style\": \"修改样式\",\r\n      New: \"新的\",\r\n      Bullets: \"子弹\",\r\n      \"Use bookmarks\": \"使用书签\",\r\n      \"Table of Contents\": \"目录\",\r\n      AutoFit: \"自动调整\",\r\n      \"AutoFit to Contents\": \"自动适应内容\",\r\n      \"AutoFit to Window\": \"自动适应窗口\",\r\n      \"Fixed Column Width\": \"固定列宽\",\r\n      Reset: \"重置\",\r\n      \"Match case\": \"相符\",\r\n      \"Whole words\": \"整个单词\",\r\n      Add: \"添加\",\r\n      \"Go To\": \"去\",\r\n      \"Search for\": \"搜索\",\r\n      \"Replace with\": \"用。。。来代替\",\r\n      \"TOC 1\": \"目录1\",\r\n      \"TOC 2\": \"目录2\",\r\n      \"TOC 3\": \"目录3\",\r\n      \"TOC 4\": \"目录4\",\r\n      \"TOC 5\": \"目录5\",\r\n      \"TOC 6\": \"目录6\",\r\n      \"TOC 7\": \"目录7\",\r\n      \"TOC 8\": \"目录8\",\r\n      \"TOC 9\": \"目录9\",\r\n      \"Right-to-left\": \"右到左\",\r\n      \"Left-to-right\": \"左到右\",\r\n      Direction: \"方向\",\r\n      \"Table direction\": \"工作台方向\",\r\n      \"Indent from right\": \"从右缩进\",\r\n      \"Contextual Spacing\": \"不要在相同样式的段落之间添加空格\",\r\n      \"Password Mismatch\": \"密码不匹配\",\r\n      \"Restrict Editing\": \"限制编辑\",\r\n      \"Formatting restrictions\": \"格式限制\",\r\n      \"Allow formatting\": \"允许格式化\",\r\n      \"Editing restrictions\": \"编辑限制\",\r\n      \"Read only\": \"只读\",\r\n      \"Exceptions Optional\": \"例外情况（可选）\",\r\n      \"Select Part Of Document And User\":\r\n        \"选择文档的某些部分并选择允许自由编辑它们的用户。\",\r\n      Everyone: \"每个人\",\r\n      \"More users\": \"更多用户\",\r\n      \"Add Users\": \"添加用户\",\r\n      \"Enforcing Protection\": \"是，开始强制保护\",\r\n      \"Start Enforcing Protection\": \"开始加强保护\",\r\n      \"Enter User\": \"输入用户\",\r\n      Users: \"用户\",\r\n      \"Enter new password\": \"输入新密码\",\r\n      \"Reenter new password to confirm\": \"重新输入新密码以确认\",\r\n      \"Your permissions\": \"您的权限\",\r\n      \"Protected Document\": \"本文档受到保护，不会被无意编辑。\",\r\n      FormFieldsOnly: \"您只能在该地区填写表格。\",\r\n      CommentsOnly: \"您只能将评论插入该区域。\",\r\n      ReadOnlyProtection: \"您可以在此区域进行编辑。\",\r\n      \"Stop Protection\": \"停止保护\",\r\n      Password: \"密码\",\r\n      \"Spelling Editor\": \"拼写编辑器\",\r\n      Spelling: \"拼写\",\r\n      \"Spell Check\": \"拼写检查\",\r\n      \"Underline errors\": \"下划线错误\",\r\n      Ignore: \"忽略\",\r\n      \"Ignore All\": \"忽略所有\",\r\n      \"Add to Dictionary\": \"添加到词典\",\r\n      Change: \"改变\",\r\n      \"Change All\": \"全部更改\",\r\n      Suggestions: \"建议\",\r\n      \"The password is incorrect\": \"密码不正确\",\r\n      \"Error in establishing connection with web server\":\r\n        \"与网络服务器建立连接时出错\",\r\n      \"Highlight the regions I can edit\": \"突出显示我可以编辑的区域\",\r\n      \"Show All Regions I Can Edit\": \"显示我可以编辑的所有区域\",\r\n      \"Find Next Region I Can Edit\": \"查找我可以编辑的下一个区域\",\r\n      \"Keep source formatting\": \"保留源格式\",\r\n      \"Match destination formatting\": \"匹配目标格式\",\r\n      \"Text only\": \"纯文本\",\r\n      Comments: \"评论\",\r\n      \"Type your comment\": \"输入您的评论\",\r\n      Post: \"邮政\",\r\n      Reply: \"回复\",\r\n      \"New Comment\": \"新评论\",\r\n      Edit: \"编辑\",\r\n      Resolve: \"解决\",\r\n      Reopen: \"重开\",\r\n      \"No comments in this document\": \"本文檔中無評論\",\r\n      more: \"更多\",\r\n      \"Type your comment here\": \"在此输入您的评论\",\r\n      \"Next Comment\": \"下一条评论\",\r\n      \"Previous Comment\": \"上一条评论\",\r\n      \"Un-posted comments\": \"未发表的评论\",\r\n      \"Discard Comment\": \"添加的评论未发布。 如果您继续，该评论将被丢弃。\",\r\n      Discard: \"丢弃\",\r\n      \"No Headings\": \"找不到标题！\",\r\n      \"Add Headings\": \"本文档没有标题。 请添加标题并重试。\",\r\n      \"More Options\": \"更多的选择\",\r\n      \"Click to see this comment\": \"点击查看此评论\",\r\n      \"Drop Down Form Field\": \"下拉表单域\",\r\n      \"Drop-down items\": \"下拉项\",\r\n      \"Items in drop-down list\": \"下拉列表中的项目\",\r\n      ADD: \"添加\",\r\n      REMOVE: \"消除\",\r\n      \"Field settings\": \"字段设置\",\r\n      Tooltip: \"工具提示\",\r\n      \"Drop-down enabled\": \"下拉已启用\",\r\n      \"Check Box Form Field\": \"复选框表单域\",\r\n      \"Check box size\": \"复选框大小\",\r\n      Auto: \"汽车\",\r\n      \"Default value\": \"默认值\",\r\n      \"Not checked\": \"未勾选\",\r\n      Checked: \"勾选\",\r\n      \"Check box enabled\": \"启用复选框\",\r\n      \"Text Form Field\": \"文本表单域\",\r\n      Type: \"类型\",\r\n      \"Default text\": \"默认文本\",\r\n      \"Maximum length\": \"最大长度\",\r\n      \"Text format\": \"文本格式\",\r\n      \"Fill-in enabled\": \"启用填充\",\r\n      \"Default number\": \"默认号码\",\r\n      \"Default date\": \"默认日期\",\r\n      \"Date format\": \"日期格式\",\r\n      \"Merge Track\": \"此操作不会标记为更改。 你想继续吗？\",\r\n      UnTrack: \"无法追踪\",\r\n      Accept: \"接受\",\r\n      Reject: \"拒绝\",\r\n      \"Previous Changes\": \"以前的变化\",\r\n      \"Next Changes\": \"接下来的变化\",\r\n      Inserted: \"已插入\",\r\n      Deleted: \"已删除\",\r\n      \"Move From\": \"S\",\r\n      \"Move To\": \"因为\",\r\n      Changes: \"变化\",\r\n      \"Accept all\": \"全都接受\",\r\n      \"Reject all\": \"全部拒绝\",\r\n      \"No changes\": \"没有变化\",\r\n      \"Accept Changes\": \"接受更改\",\r\n      \"Reject Changes\": \"拒绝更改\",\r\n      User: \"用户\",\r\n      View: \"看法\",\r\n      Insertion: \"插入\",\r\n      Deletion: \"删除\",\r\n      \"All caps\": \"全部大写\",\r\n      \"This region is locked by\": \"该区域被锁定\",\r\n      Lock: \"锁\",\r\n      Unlock: \"开锁\",\r\n      \"Already locked\": \"所选区域或部分区域已被其他用户锁定\",\r\n      \"1, 2, 3, ...\": \"1、2、3，...\",\r\n      \"a, b, c, ...\": \"a，b，c，...\",\r\n      \"A, B, C, ...\": \"A，B，C，...\",\r\n      \"I, II, III, ...\": \"I，II，III，...\",\r\n      \"i, ii, iii, ...\": \"i，ii，iii，...\",\r\n      \"Text Form\": \"文本形式\",\r\n      \"Check Box\": \"复选框\",\r\n      DropDown: \"落下\",\r\n      \"Form Fields\": \"表单字段\",\r\n      \"Fillin enabled\": \"启用填充\",\r\n      \"Multiple Comment\": \"请发表你的评论\",\r\n      InsertFootnote: \"插入脚注\",\r\n      InsertEndnote: \"插入尾注\",\r\n      Footnote: \"脚注\",\r\n      Endnote: \"尾注\",\r\n      \"Notes Options\": \"查看选项\",\r\n      \"Click to View/Edit Footnote\": \"单击以查看/编辑脚注\",\r\n      \"Click to View/Edit Endnote\": \"单击以查看/编辑尾注\",\r\n      InsertAsRows: \"作为新行插入\",\r\n      InsertAsColumns: \"作为新列插入\",\r\n      OverwriteCells: \"覆盖单元格\",\r\n      NestTable: \"嵌套表\",\r\n      \"No suggestions\": \"没有建议\",\r\n      \"More Suggestion\": \"更多建议\",\r\n      \"Ignore Once\": \"忽略一次\",\r\n      \"Keep With Next\": \"继续下一步\",\r\n      \"Keep Lines Together\": \"保持线条在一起\",\r\n      WidowControl: \"寡妇/孤儿控制\",\r\n      \"Indents and Spacing\": \"缩进和间距\",\r\n      \"Line and Page Breaks\": \"换行符和分页符\",\r\n      Pagination: \"分页\",\r\n      Single: \"单身的\",\r\n      DashSmallGap: \"破折号小缺口\",\r\n      DashDot: \"点划线\",\r\n      Double: \"双倍的\",\r\n      ThinThickSmallGap: \"薄厚小间隙\",\r\n      ThickThinSmallGap: \"厚薄小间隙\",\r\n      ThickThinMediumGap: \"厚薄中等间隙\",\r\n      ThickThinLargeGap: \"厚薄大间隙\",\r\n      SingleWavy: \"单波浪\",\r\n      DoubleWavy: \"双波浪\",\r\n      Inset: \"插图\",\r\n      DashLargeGap: \"破折号大缺口\",\r\n      Dot: \"点\",\r\n      DashDotDot: \"点点滴滴\",\r\n      Triple: \"三倍\",\r\n      ThinThickThinSmallGap: \"薄厚薄小间隙\",\r\n      ThinThickThinMediumGap: \"薄厚薄中等间隙\",\r\n      ThinThickThinLargeGap: \"薄厚薄大间隙\",\r\n      DashDotStroked: \"DashDotStroked\",\r\n      Engrave3D: \"雕刻3D\",\r\n      Thick: \"厚的\",\r\n      Outset: \"一开始\",\r\n      Emboss3D: \"立体浮雕\",\r\n      ThinThickLargeGap: \"薄厚大间隙\",\r\n      ThinThickMediumGap: \"薄厚中等间隙\",\r\n      \"Number of rows must be between\": \"行数必须介于\",\r\n      \"Number of columns must be between\": \"列数必须介于\",\r\n      and: \"和\",\r\n      Unlimited: \"无限\",\r\n      \"Regular text\": \"常规文本\",\r\n      Date: \"日期\",\r\n      Uppercase: \"大写\",\r\n      Lowercase: \"小写\",\r\n      FirstCapital: \"首控\",\r\n      TitleCase: \"书架\",\r\n      \"Filling in forms\": \"填写表格\",\r\n      px: \"像素\",\r\n      \"Tracked changes\": \"跟踪更改\",\r\n      TrackChangesOnly: \"您可以在此区域中进行编辑，但所有更改都将被跟踪。\",\r\n      RemovedIgnore: \"你想删除忽略的异常吗？\",\r\n      RemovedIgnoreExceptions:\r\n        \"如果您在文档保护中进行此更改，Word 将忽略此文档中的所有异常。\",\r\n      Information: \"信息\",\r\n      Yes: \"是的\",\r\n      No: \"不\",\r\n      \"Page Break\": \"分页符\",\r\n      \"Column Break\": \"分栏符\",\r\n      \"Section Break Next Page\": \"分节符（下一页）\",\r\n      \"Section Break Continuous\": \"分节符（连续）\",\r\n      \"Unsupported format\": \"不支持您选择的文件格式。 请选择有效格式。\",\r\n      One: \"一\",\r\n      Two: \"二\",\r\n      Three: \"三\",\r\n      Presets: \"预设\",\r\n      Columns: \"列\",\r\n      \"Split your text into two or more columns\": \"将您的文本分成两列或更多列\",\r\n      \"Line between column\": \"列之间的线\",\r\n      \"Width and Spacing\": \"宽度和间距\",\r\n      \"Equal column width\": \"列宽相等\",\r\n      Column: \"柱子\",\r\n      \"Paste Content Dialog\":\r\n        \"由于浏览器的安全策略，从系统剪贴板粘贴是受限制的。\",\r\n      \"Paste Content CheckBox\": \"他没有再出现。\",\r\n      \"The top/bottom margins are too large for the page height in some sections.\":\r\n        \"某些部分的顶部/底部边距对于页面高度来说太大。\",\r\n      \"Column width cannot be less than 36 pt.\": \"列宽不能小于 36 磅。\",\r\n      \"Left and right margins.\":\r\n        \"您为左右边距、列间距或段落缩进选择的设置对于同一部分中的页面宽度来说太大。\",\r\n      \"The address of this site is 'not valid. Check the address and try again.\":\r\n        \"该网站的地址无效。检查地址并重试。\",\r\n      \"Alt Text\": \"替代文本\",\r\n      Title: \"标题\",\r\n      Description: \"描述\",\r\n      \"Left Indent\": \"通讯行业\",\r\n      \"Right Indent\": \"正确路线\",\r\n      \"Hanging Indent\": \"每个人都有自己的角色\",\r\n      \"First Line Indent\": \"首先是弯曲线条。\",\r\n      \"Left Margin\": \"玉塔\",\r\n      \"Right Margin\": \"倾倒\",\r\n      \"Top Margin\": \"传感器\",\r\n      \"Bottom Margin\": \"演讲\",\r\n      \"Left Tab\": \"我在你耳边\",\r\n      \"Right Tab\": \"右耳\",\r\n      \"Center Tab\": \"中央屏幕\",\r\n      \"Decimal Tab\": \"死去的动物\",\r\n      \"Bar Tab\": \"卡米尔·B.\",\r\n      \"Move Table Column\": \"移动表中的列\",\r\n      external: \"删除内容控件\",\r\n      \"Content Control Properties\": \"内容控制属性\",\r\n      \"Remove content control when contents are edited\":\r\n        \"编辑内容时删除内容控件\",\r\n      \"Content control cannot be deleted\": \"内容控制无法删除\",\r\n      \"Contents cannot be edited\": \"内容无法编辑\",\r\n      \"Plain Text properties\": \"纯文本属性\",\r\n      \"Allow carriage returns\": \"允许马车回报\",\r\n      \"Drop_Down List properties\": \"drop_down列表属性\",\r\n      \"Display Text\": \"显示文字\",\r\n      Locking: \"锁定\",\r\n      Tag: \"标签\",\r\n      Value: \"价值\",\r\n      PictureContentControl: \"PicturecontentControl\",\r\n      \"Upload from computer\": \"从电脑上传\",\r\n      Picture: \"图片\",\r\n      \"Choose an item\": \"选择一个项目\",\r\n      \"Paste CheckBox Content Dialog\": \"不再显示\",\r\n      \"The address of this site is not valid. Check the address and try again.\":\r\n        \"该网站的地址无效。\",\r\n      \"Left and right margins\":\r\n        \"您为左右边距、列间距或段落缩进选择的设置对于同一部分中的页面宽度来说太大。\",\r\n      \"Number of rows must be between 1 and 32767.\":\r\n        \"行数必须介于 1 到 32767 之间。\",\r\n      \"Number of columns must be between 1 and 63.\":\r\n        \"列数必须介于 1 到 63 之间。\",\r\n      \"\": \"The top/bottom margins are too large for the page height in some sections.\",\r\n      \"You may format text only with certain styles\":\r\n        \"您只能使用某些样式来设置文本格式。\",\r\n      \"Ignore all\": \"忽略所有\",\r\n    },\r\n    documenteditorcontainer: {\r\n      New: \"新的\",\r\n      Open: \"打开\",\r\n      Undo: \"撤消\",\r\n      Redo: \"重做\",\r\n      Image: \"图像\",\r\n      Table: \"桌子\",\r\n      Link: \"关联\",\r\n      Bookmark: \"书签\",\r\n      \"Table of Contents\": \"目录\",\r\n      \"HEADING - - - - 1\": \"标题----1\",\r\n      \"HEADING - - - - 2\": \"标题----2\",\r\n      \"HEADING - - - - 3\": \"标题----3\",\r\n      Header: \"标头\",\r\n      Footer: \"页脚\",\r\n      \"Page Setup\": \"页面设置\",\r\n      \"Page Number\": \"页码\",\r\n      Break: \"休息\",\r\n      Find: \"寻找\",\r\n      \"Local Clipboard\": \"本地剪贴板\",\r\n      \"Restrict Editing\": \"限制编辑\",\r\n      \"Content Control\": \"内容控制\",\r\n      \"Rich Text Content Control\": \"丰富的文本内容控制\",\r\n      \"Plain Text Content Control\": \"纯文本内容控制\",\r\n      \"Picture Content Control\": \"图片内容控制\",\r\n      \"Combo Box Content Control\": \"组合盒内容控制\",\r\n      \"Drop-Down List Content Control\": \"下拉列表内容控制\",\r\n      \"Date Picker Content Control\": \"日期选择器内容控制\",\r\n      \"Check Box Content Control\": \"复选框内容控制\",\r\n      \"Upload from computer\": \"从电脑上传\",\r\n      \"By URL\": \"通过网址\",\r\n      \"Page Break\": \"分页符\",\r\n      \"Section Break\": \"分节符\",\r\n      \"Header And Footer\": \"页眉页脚\",\r\n      Options: \"选项\",\r\n      Levels: \"关卡\",\r\n      \"Different First Page\": \"第一页不同\",\r\n      \"Different header and footer for odd and even pages\":\r\n        \"奇数页和偶数页的不同页眉和页脚。\",\r\n      \"Different Odd And Even Pages\": \"不同的奇偶页\",\r\n      \"Different header and footer for first page\": \"第一页的不同页眉和页脚。\",\r\n      Position: \"位置\",\r\n      \"Header from Top\": \"顶部标题\",\r\n      \"Footer from Bottom\": \"从底部开始的页脚\",\r\n      \"Distance from top of the page to top of the header\":\r\n        \"从页面顶部到页眉顶部的距离。\",\r\n      \"Distance from bottom of the page to bottom of the footer\":\r\n        \"从页面底部到页脚底部的距离。\",\r\n      \"Aspect ratio\": \"纵横比\",\r\n      W: \"W\",\r\n      H: \"H\",\r\n      Width: \"宽度\",\r\n      Height: \"高度\",\r\n      Text: \"文本\",\r\n      Paragraph: \"段落\",\r\n      Fill: \"充满\",\r\n      \"Fill color\": \"填色\",\r\n      \"Border Style\": \"边框样式\",\r\n      \"Outside borders\": \"境外\",\r\n      \"All borders\": \"所有边框\",\r\n      \"Inside borders\": \"内部边界\",\r\n      \"Left border\": \"左边框\",\r\n      \"Inside vertical border\": \"垂直边框内\",\r\n      \"Right border\": \"右边框\",\r\n      \"Top border\": \"上边框\",\r\n      \"Inside horizontal border\": \"水平边框内\",\r\n      \"Bottom border\": \"底边框\",\r\n      \"Border color\": \"边框颜色\",\r\n      \"Border width\": \"边框宽度\",\r\n      Cell: \"细胞\",\r\n      \"Merge cells\": \"合并单元格\",\r\n      \"Insert Or Delete\": \"插入/删除\",\r\n      \"Insert columns to the left\": \"在左侧插入列\",\r\n      \"Insert columns to the right\": \"在右侧插入列\",\r\n      \"Insert rows above\": \"在上面插入行\",\r\n      \"Insert rows below\": \"在下方插入行\",\r\n      \"Delete rows\": \"删除行\",\r\n      \"Delete columns\": \"删除列\",\r\n      \"Cell Margin\": \"单元边距\",\r\n      Top: \"顶部\",\r\n      Bottom: \"底部\",\r\n      Left: \"左边\",\r\n      Right: \"正确的\",\r\n      \"Align Text\": \"对齐文本\",\r\n      \"Align top\": \"对齐顶部\",\r\n      \"Align bottom\": \"对齐底部\",\r\n      \"Align center\": \"居中对齐\",\r\n      \"Number of heading or outline levels to be shown in table of contents\":\r\n        \"要在目录中显示的标题或大纲级别数。\",\r\n      \"Show page numbers\": \"显示页码\",\r\n      \"Show page numbers in table of contents\": \"在目录中显示页码。\",\r\n      \"Right align page numbers\": \"右对齐页码\",\r\n      \"Right align page numbers in table of contents\": \"右对齐目录中的页码。\",\r\n      \"Use hyperlinks\": \"使用超链接\",\r\n      \"Use hyperlinks instead of page numbers\": \"使用超链接而不是页码。\",\r\n      Font: \"字体\",\r\n      \"Font Size\": \"字体大小\",\r\n      \"Font color\": \"字体颜色\",\r\n      \"Text highlight color\": \"文字高亮颜色\",\r\n      \"Clear all formatting\": \"清除所有格式\",\r\n      \"Bold Tooltip\": \"粗体 (Ctrl+B)\",\r\n      \"Italic Tooltip\": \"斜体 (Ctrl+I)\",\r\n      \"Underline Tooltip\": \"下划线 (Ctrl+U)\",\r\n      Strikethrough: \"删除线\",\r\n      \"Superscript Tooltip\": \"上标 (Ctrl+Shift++)\",\r\n      \"Subscript Tooltip\": \"下标 (Ctrl+=)\",\r\n      \"Align left Tooltip\": \"左对齐 (Ctrl+L)\",\r\n      \"Center Tooltip\": \"居中 (Ctrl+E)\",\r\n      \"Align right Tooltip\": \"右对齐 (Ctrl+R)\",\r\n      \"Justify Tooltip\": \"对齐 (Ctrl+J)\",\r\n      \"Decrease indent\": \"減少縮進\",\r\n      \"Increase indent\": \"增加缩进\",\r\n      \"Line spacing\": \"行间距\",\r\n      Bullets: \"子弹\",\r\n      Numbering: \"编号\",\r\n      Styles: \"样式\",\r\n      \"Manage Styles\": \"管理样式\",\r\n      Page: \"页\",\r\n      of: \"的\",\r\n      \"Fit one page\": \"适合一页\",\r\n      \"Spell Check\": \"拼写检查\",\r\n      Spelling: \"用户\",\r\n      \"Underline errors\": \"下划线错误\",\r\n      \"Fit page width\": \"适合页面宽度\",\r\n      Update: \"更新\",\r\n      Cancel: \"取消\",\r\n      Insert: \"插入\",\r\n      \"No Border\": \"无边界\",\r\n      \"Create a new document\": \"创建一个新文档。\",\r\n      \"Open a document\": \"打开文档。\",\r\n      \"Undo Tooltip\": \"撤消上一个操作 (Ctrl+Z)。\",\r\n      \"Redo Tooltip\": \"重做上次操作 (Ctrl+Y)。\",\r\n      \"Insert inline picture from a file\": \"从文件中插入内联图片。\",\r\n      \"Insert a table into the document\": \"在文档中插入表格\",\r\n      \"Create Hyperlink\": \"在文档中创建链接以快速访问网页和文件 (Ctrl+K)。\",\r\n      \"Insert a bookmark in a specific place in this document\":\r\n        \"在此文档的特定位置插入书签。\",\r\n      \"Provide an overview of your document by adding a table of contents\":\r\n        \"通过添加目录提供文档的概述。\",\r\n      \"Add or edit the header\": \"添加或编辑标题。\",\r\n      \"Add or edit the footer\": \"添加或编辑页脚。\",\r\n      \"Open the page setup dialog\": \"打开页面设置对话框。\",\r\n      \"Add page numbers\": \"添加页码。\",\r\n      \"Find Text\": \"在文档中查找文本 (Ctrl+F)。\",\r\n      \"Toggle between the internal clipboard and system clipboard\":\r\n        \"在内部剪贴板和系统剪贴板之间切换。</br>由于浏览器安全策略，拒绝通过脚本访问系统剪贴板。 相反，</br> 1. 您可以启用内部剪贴板以在组件内剪切、复制和粘贴。</br> 2. 您可以使用键盘快捷键（Ctrl+X、Ctrl+C 和 Ctrl+V）来剪切 , 使用系统剪贴板复制和粘贴。\",\r\n      \"Current Page Number\": \"文档中的当前页码。 单击或点击以导航特定页面。\",\r\n      \"Read only\": \"只读\",\r\n      Protections: \"保护措施\",\r\n      \"Error in establishing connection with web server\":\r\n        \"与网络服务器建立连接时出错\",\r\n      Single: \"单身的\",\r\n      Double: \"双倍的\",\r\n      \"New comment\": \"新评论\",\r\n      Comments: \"评论\",\r\n      \"Print layout\": \"打印布局\",\r\n      \"Web layout\": \"网页布局\",\r\n      \"Text Form\": \"文本形式\",\r\n      \"Check Box\": \"复选框\",\r\n      DropDown: \"落下\",\r\n      \"Update Fields\": \"更新字段\",\r\n      \"Update cross reference fields\": \"更新交叉引用字段\",\r\n      \"Hide properties pane\": \"隐藏属性面板\",\r\n      \"Show properties pane\": \"显示属性面板\",\r\n      \"Form Fields\": \"表单字段\",\r\n      \"Track Changes\": \"跟踪文档中所做的更改\",\r\n      TrackChanges: \"跟踪变化\",\r\n      AllCaps: \"全大写\",\r\n      \"Change case Tooltip\": \"改变大小写\",\r\n      \"Insert Footnote\": \"插入脚注\",\r\n      \"Insert Endnote\": \"插入尾注\",\r\n      \"Footnote Tooltip\": \"插入脚注 (Alt+Ctrl+F)。\",\r\n      \"Endnote Tooltip\": \"插入尾注 (Alt+Ctrl+D)。\",\r\n      UPPERCASE: \"大写字母\",\r\n      \"No color\": \"没有颜色\",\r\n      \"Top margin\": \"上边距\",\r\n      \"Bottom margin\": \"下边距\",\r\n      \"Left margin\": \"左边距\",\r\n      \"Right margin\": \"右边距\",\r\n      Normal: \"普通的\",\r\n      Heading: \"标题\",\r\n      \"Heading 1\": \"标题 1\",\r\n      \"Heading 2\": \"标题 2\",\r\n      \"Heading 3\": \"标题 3\",\r\n      \"Heading 4\": \"标题 4\",\r\n      \"Heading 5\": \"标题 5\",\r\n      \"Heading 6\": \"标题 6\",\r\n      ZoomLevelTooltip: \"缩放级别。 单击或点击以打开“缩放”选项。\",\r\n      None: \"没有任何\",\r\n      Borders: \"边框\",\r\n      \"ShowHiddenMarks Tooltip\":\r\n        \"显示隐藏的字符，如空格、制表符、段落标记和换行符。(Ctrl + *)\",\r\n      Columns: \"列\",\r\n      \"Column Break\": \"分栏符\",\r\n      \"Link to Previous\": \"上一个链接\",\r\n      \"Link to PreviousTooltip\": \"将此部分链接到上一部分的页眉或页脚。\",\r\n      \"Alternate Text\": \"替代文本\",\r\n      \"The address of this site is not valid. Check the address and try again.\":\r\n        \"该网站的地址无效。\",\r\n      OK: \"好的\",\r\n      Information: \"信息\",\r\n      \"Page Breaks\": \"在页面底部\",\r\n      \"Section Breaks\": \"这片区域被占领了。\",\r\n      Column: \"分享\",\r\n      \"Next Page\": \"另一张脸\",\r\n      Continuous: \"工作\",\r\n    },\r\n    carousel: {\r\n      nextSlide: \"下一张幻灯片\",\r\n      of: \"的\",\r\n      pauseSlideTransition: \"暂停幻灯片过渡\",\r\n      playSlideTransition: \"播放幻灯片过渡\",\r\n      previousSlide: \"上一张幻灯片\",\r\n      slide: \"滑动\",\r\n      slideShow: \"幻灯片放映\",\r\n    },\r\n    message: {\r\n      close: \"关\",\r\n    },\r\n    \"image-editor\": {\r\n      \"0\": \"0%\",\r\n      \"1\": \"1\",\r\n      \"2\": \"2\",\r\n      \"3\": \"3\",\r\n      \"4\": \"4\",\r\n      \"5\": \"5\",\r\n      \"20\": \"20%\",\r\n      \"40\": \"40%\",\r\n      \"60\": \"60%\",\r\n      \"80\": \"80%\",\r\n      \"100\": \"100%\",\r\n      Crop: \"庄稼\",\r\n      CropAndTransform: \"裁剪和变换\",\r\n      ZoomIn: \"放大\",\r\n      ZoomOut: \"缩小\",\r\n      Undo: \"撤消\",\r\n      Redo: \"重做\",\r\n      Transform: \"转换\",\r\n      Annotation: \"注解\",\r\n      Finetune: \"微调\",\r\n      Brightness: \"亮度\",\r\n      Contrast: \"对比\",\r\n      Hue: \"色调\",\r\n      Saturation: \"饱和\",\r\n      Opacity: \"不透明度\",\r\n      Blur: \"模糊\",\r\n      Sharpen: \"锐化\",\r\n      Exposure: \"接触\",\r\n      Filter: \"筛选\",\r\n      Default: \"默认\",\r\n      Chrome: \"铬合金\",\r\n      Cold: \"寒冷的\",\r\n      Warm: \"温暖的\",\r\n      Grayscale: \"灰度\",\r\n      BlackAndWhite: \"黑与白\",\r\n      Sepia: \"棕褐色\",\r\n      Invert: \"倒置\",\r\n      Text: \"添加文字\",\r\n      Pen: \"笔\",\r\n      Reset: \"重置\",\r\n      Save: \"节省\",\r\n      Select: \"选择\",\r\n      RotateLeft: \"向左旋转\",\r\n      RotateRight: \"右旋\",\r\n      HorizontalFlip: \"水平翻转\",\r\n      VerticalFlip: \"垂直翻转\",\r\n      OK: \"好的\",\r\n      Cancel: \"取消\",\r\n      DlgOK: \"好的\",\r\n      FillColor: \"填色\",\r\n      StrokeColor: \"描边颜色\",\r\n      StrokeWidth: \"笔划宽度\",\r\n      FontFamily: \"字体系列\",\r\n      FontStyle: \"字体样式\",\r\n      FontSize: \"字体大小\",\r\n      FontColor: \"字体颜色\",\r\n      Pan: \"平底锅\",\r\n      Move: \"移动\",\r\n      Load: \"加载\",\r\n      Custom: \"风俗\",\r\n      Square: \"正方形\",\r\n      Circle: \"圆圈\",\r\n      Ellipse: \"椭圆\",\r\n      Rectangle: \"长方形\",\r\n      Line: \"线\",\r\n      Arrow: \"箭\",\r\n      Path: \"小路\",\r\n      Bold: \"大胆的\",\r\n      Italic: \"斜体\",\r\n      BoldItalic: \"加粗斜体\",\r\n      XSmall: \"X 小号\",\r\n      Small: \"小的\",\r\n      Medium: \"中等的\",\r\n      Large: \"大的\",\r\n      XLarge: \"XL 号\",\r\n      ABC: \"ABC\",\r\n      Browse: \"浏览\",\r\n      Duplicate: \"复制\",\r\n      Remove: \"消除\",\r\n      EditText: \"编辑文本\",\r\n      Start: \"开始\",\r\n      End: \"结尾\",\r\n      Bar: \"酒吧\",\r\n      ArrowSolid: \"实心箭头\",\r\n      CircleSolid: \"实心圆\",\r\n      SquareSolid: \"方实心\",\r\n      None: \"没有任何\",\r\n      CropSelection: \"作物选择\",\r\n      Image: \"添加图片\",\r\n      Transparency: \"透明度\",\r\n      Height: \"高度\",\r\n      Width: \"宽度\",\r\n      AspectRatio: \"保持纵横比\",\r\n      W: \"瓦\",\r\n      H: \"H\",\r\n      DragText: \"将您的图像拖放到此处或\",\r\n      DropText: \"将您的图片拖放到此处或\",\r\n      BrowseText: \"浏览此处...\",\r\n      SupportText: \"支持：\",\r\n      Frame: \"框架\",\r\n      Mat: \"垫\",\r\n      Bevel: \"斜角\",\r\n      Inset: \"插图\",\r\n      Hook: \"钩\",\r\n      Color: \"颜色\",\r\n      Size: \"尺寸\",\r\n      Offset: \"抵消\",\r\n      Radius: \"半径\",\r\n      Amount: \"数量\",\r\n      Resize: \"调整大小\",\r\n      Border: \"边界\",\r\n      Solid: \"坚硬的\",\r\n      Dashed: \"虚线\",\r\n      Dotted: \"点状\",\r\n      GradientColor: \"渐变色\",\r\n      ConfirmDialogHeader: \"确认保存更改\",\r\n      ConfirmDialogContent: \"您想保存对图像所做的更改吗？\",\r\n      AlertDialogHeader: \"不支持的文件\",\r\n      AlertDialogContent: \"不支持删除的文件。\",\r\n      Yes: \"是的\",\r\n      No: \"不\",\r\n      ImageErrorDialogHeader: \"选择图像时出错。\",\r\n      ImageErrorDialogContent: \"只需选择您要打开的图像即可。\",\r\n      Straighten: \"难的\",\r\n      NoOutline: \"不需要\",\r\n      Clone: \"隐喻\",\r\n      Delete: \"破坏\",\r\n      SaveAs: \"另存为\",\r\n      ImageName: \"图像名称\",\r\n      Format: \"格式\",\r\n      Quality: \"质量\",\r\n      Download: \"下载\",\r\n      Close: \"关闭\",\r\n      ImageSize: \"图片大小\",\r\n      QualityInfo: \"图像质量选项仅适用于JPEG格式\",\r\n      Good: \"好的\",\r\n      Great: \"伟大的\",\r\n      Highest: \"最高\",\r\n      BringForward: \"向前进\",\r\n      SendBackward: \"向后发送\",\r\n      SendToBack: \"发送到后面\",\r\n      BringToFront: \"带到前面\",\r\n      ZOrder: \"z订单\",\r\n      Redact: \"纂\",\r\n      Pixelate: \"像素化\",\r\n      BorderRadius: \"边界半径\",\r\n      TextOutlineColor: \"轮廓颜色\",\r\n      TextOutlineWidth: \"轮廓宽度\",\r\n    },\r\n    mention: {\r\n      noRecordsTemplate: \"没有找到记录\",\r\n    },\r\n    inplaceeditor: {\r\n      save: \"节省\",\r\n      cancel: \"取消\",\r\n      loadingText: \"加载中...\",\r\n      editIcon: \"点击编辑\",\r\n      editAreaClick: \"点击编辑\",\r\n      editAreaDoubleClick: \"双击即可编辑\",\r\n    },\r\n    PdfViewer: {\r\n      PdfViewer: \"PDF阅读器\",\r\n      Cancel: \"取消\",\r\n      \"Download file\": \"下载文件\",\r\n      Download: \"下载\",\r\n      \"Enter Password\": \"本文档受密码保护。\",\r\n      \"File Corrupted\": \"文件损坏\",\r\n      \"File Corrupted Content\": \"文件已损坏且无法打开。\",\r\n      \"Fit Page\": \"适合页面\",\r\n      \"Fit Width\": \"适合宽度\",\r\n      Automatic: \"自动的\",\r\n      \"Go To First Page\": \"显示第一页\",\r\n      \"Invalid Password\": \"密码错误。\",\r\n      \"Next Page\": \"显示下一页\",\r\n      OK: \"好的\",\r\n      Open: \"打开文件\",\r\n      \"Page Number\": \"当前页码\",\r\n      \"Previous Page\": \"显示上一页\",\r\n      \"Go To Last Page\": \"显示最后一页\",\r\n      Zoom: \"飞涨\",\r\n      \"Zoom In\": \"放大\",\r\n      \"Zoom Out\": \"缩小\",\r\n      \"Page Thumbnails\": \"页面缩略图\",\r\n      Bookmarks: \"书签\",\r\n      Print: \"打印文件\",\r\n      \"Organize Pages\": \"组织页面\",\r\n      \"Insert Right\": \"向右插入\",\r\n      \"Insert Left\": \"向左插入\",\r\n      Total: \"全部的\",\r\n      Pages: \"页数\",\r\n      \"Rotate Right\": \"右旋\",\r\n      \"Rotate Left\": \"向左旋转\",\r\n      \"Delete Page\": \"删除页面\",\r\n      \"Delete Pages\": \"删除页面\",\r\n      \"Copy Page\": \"复制页面\",\r\n      \"Copy Pages\": \"复制页面\",\r\n      \"Import Document\": \"导入文档\",\r\n      Save: \"节省\",\r\n      \"Save As\": \"另存为\",\r\n      \"Select All\": \"全选\",\r\n      \"Password Protected\": \"要求输入密码\",\r\n      Copy: \"复制\",\r\n      \"Text Selection\": \"文本选择工具\",\r\n      Panning: \"平移模式\",\r\n      \"Text Search\": \"查找文字\",\r\n      \"Find in document\": \"在文档中查找\",\r\n      \"Match case\": \"相符\",\r\n      \"Match any word\": \"匹配任何单词\",\r\n      Apply: \"申请\",\r\n      GoToPage: \"转到页面\",\r\n      \"No Matches\": \"PDF查看器已经完成了搜索文档。找不到比赛。\",\r\n      \"No More Matches\": \"PDF查看器已经完成了搜索文档。找不到更多的比赛。\",\r\n      \"Exact Matches\": \"确切的匹配\",\r\n      \"Total Matches\": \"总比赛\",\r\n      Undo: \"撤消\",\r\n      Redo: \"重做\",\r\n      Annotation: \"添加或编辑注释\",\r\n      FormDesigner: \"添加和编辑表单字段\",\r\n      Highlight: \"突出显示文本\",\r\n      Underline: \"下划线文本\",\r\n      Strikethrough: \"删除线文本\",\r\n      Delete: \"删除注释\",\r\n      Opacity: \"不透明度\",\r\n      \"Color edit\": \"换颜色\",\r\n      \"Opacity edit\": \"更改不透明度\",\r\n      \"Highlight context\": \"强调\",\r\n      \"Underline context\": \"强调\",\r\n      \"Strikethrough context\": \"删除线\",\r\n      \"Server error\": \"Web 服务未监听。 \",\r\n      \"Client error\":\r\n        \"发现客户端错误。请检查 AjaxRequestSettings 属性中提供的自定义标头和 ServerActionSettings 属性中的 Web 操作方法。\",\r\n      \"Open text\": \"打开\",\r\n      \"First text\": \"第一页\",\r\n      \"Previous text\": \"上一页\",\r\n      \"Next text\": \"下一页\",\r\n      \"Last text\": \"最后一页\",\r\n      \"Zoom in text\": \"放大\",\r\n      \"Zoom out text\": \"缩小\",\r\n      \"Selection text\": \"选择\",\r\n      \"Pan text\": \"平底锅\",\r\n      \"Print text\": \"打印\",\r\n      \"Search text\": \"搜索\",\r\n      \"Annotation Edit text\": \"编辑注释\",\r\n      \"FormDesigner Edit text\": \"添加和编辑表单字段\",\r\n      \"Line Thickness\": \"线的粗细\",\r\n      \"Line Properties\": \"线属性\",\r\n      \"Start Arrow\": \"开始箭头\",\r\n      \"End Arrow\": \"结束箭头\",\r\n      \"Line Style\": \"线条样式\",\r\n      \"Fill Color\": \"填色\",\r\n      \"Line Color\": \"线条颜色\",\r\n      None: \"没有任何\",\r\n      \"Open Arrow\": \"打开\",\r\n      \"Closed Arrow\": \"关闭\",\r\n      \"Round Arrow\": \"圆形的\",\r\n      \"Square Arrow\": \"正方形\",\r\n      \"Diamond Arrow\": \"钻石\",\r\n      Butt: \"屁股\",\r\n      Cut: \"切\",\r\n      Paste: \"粘贴\",\r\n      \"Delete Context\": \"删除\",\r\n      Properties: \"特性\",\r\n      \"Add Stamp\": \"添加图章\",\r\n      \"Add Shapes\": \"添加形状\",\r\n      \"Stroke edit\": \"更改描边颜色\",\r\n      \"Change thickness\": \"更改边框粗细\",\r\n      \"Add line\": \"添加线路\",\r\n      \"Add arrow\": \"添加箭头\",\r\n      \"Add rectangle\": \"添加矩形\",\r\n      \"Add circle\": \"添加圈子\",\r\n      \"Add polygon\": \"添加多边形\",\r\n      \"Add Comments\": \"添加评论\",\r\n      Comments: \"评论\",\r\n      SubmitForm: \"提交表格\",\r\n      \"No Comments Yet\": \"暂时没有评论\",\r\n      Accepted: \"公认\",\r\n      Completed: \"完全的\",\r\n      Cancelled: \"取消\",\r\n      Rejected: \"拒绝\",\r\n      \"Leader Length\": \"引线长度\",\r\n      \"Scale Ratio\": \"比例\",\r\n      Calibrate: \"校准\",\r\n      \"Calibrate Distance\": \"校准距离\",\r\n      \"Calibrate Perimeter\": \"校准周长\",\r\n      \"Calibrate Area\": \"校准区域\",\r\n      \"Calibrate Radius\": \"校准半径\",\r\n      \"Calibrate Volume\": \"校准音量\",\r\n      Depth: \"深度\",\r\n      Closed: \"关闭\",\r\n      Round: \"圆形的\",\r\n      Square: \"正方形\",\r\n      Diamond: \"钻石\",\r\n      Edit: \"编辑\",\r\n      Comment: \"评论\",\r\n      \"Comment Panel\": \"评论面板\",\r\n      \"Set Status\": \"设置状态\",\r\n      Post: \"邮政\",\r\n      Page: \"页\",\r\n      \"Add a comment\": \"添加评论\",\r\n      \"Add a reply\": \"添加回复\",\r\n      \"Import Annotations\": \"从 JSON 文件导入注释\",\r\n      \"Export Annotations\": \"将注释导出到 JSON 文件\",\r\n      \"Export XFDF\": \"将注释导出到 XFDF 文件\",\r\n      \"Import XFDF\": \"从 XFDF 文件导入注释\",\r\n      Add: \"添加\",\r\n      Clear: \"清除\",\r\n      Bold: \"大胆的\",\r\n      Italic: \"斜体\",\r\n      Strikethroughs: \"删除线\",\r\n      Underlines: \"强调\",\r\n      Superscript: \"上标\",\r\n      Subscript: \"下标\",\r\n      \"Align left\": \"左对齐\",\r\n      \"Align right\": \"右对齐\",\r\n      Center: \"中心\",\r\n      Justify: \"证明合法\",\r\n      \"Font color\": \"字体颜色\",\r\n      \"Text Align\": \"文本对齐\",\r\n      \"Text Properties\": \"字体样式\",\r\n      SignatureFieldDialogHeaderText: \"添加签名\",\r\n      HandwrittenSignatureDialogHeaderText: \"添加签名\",\r\n      InitialFieldDialogHeaderText: \"添加初始\",\r\n      HandwrittenInitialDialogHeaderText: \"添加初始\",\r\n      \"Draw Ink\": \"画墨\",\r\n      Create: \"创造\",\r\n      \"Font family\": \"字体系列\",\r\n      \"Font size\": \"字体大小\",\r\n      \"Free Text\": \"自由文本\",\r\n      \"Import Failed\": \"JSON 文件类型或文件名无效；请选择有效的JSON文件\",\r\n      \"Import PDF Failed\":\r\n        \"找不到无效的PDF文件类型或PDF文件。请选择有效的PDF文件\",\r\n      \"File not found\": \"导入的JSON文件在所需的位置找不到\",\r\n      \"Export Failed\": \"出口注释动作失败了；请确保正确添加注释\",\r\n      of: \"的\",\r\n      Dynamic: \"动态的\",\r\n      \"Standard Business\": \"标准业务\",\r\n      \"Sign Here\": \"在这里签名\",\r\n      \"Custom Stamp\": \"定制印章\",\r\n      \"Enter Signature as Name\": \"输入你的名字\",\r\n      \"Draw-hand Signature\": \"画\",\r\n      \"Type Signature\": \"类型\",\r\n      \"Upload Signature\": \"上传\",\r\n      \"Browse Signature Image\": \"浏览\",\r\n      \"Save Signature\": \"保存签名\",\r\n      \"Save Initial\": \"保存初始\",\r\n      Textbox: \"文本框\",\r\n      Password: \"密码\",\r\n      \"Check Box\": \"复选框\",\r\n      \"Radio Button\": \"单选按钮\",\r\n      Dropdown: \"落下\",\r\n      \"List Box\": \"列表框\",\r\n      Signature: \"签名\",\r\n      \"Delete FormField\": \"删除表单字段\",\r\n      \"Textbox Properties\": \"TextBox属性\",\r\n      Name: \"姓名\",\r\n      Tooltip: \"工具提示\",\r\n      Value: \"价值\",\r\n      \"Form Field Visibility\": \"表单可见性\",\r\n      \"Read Only\": \"只读\",\r\n      Required: \"必需的\",\r\n      Checked: \"已检查\",\r\n      \"Show Printing\": \"显示印刷\",\r\n      Formatting: \"格式\",\r\n      Fill: \"充满\",\r\n      Border: \"边界\",\r\n      \"Border Color\": \"边框颜色\",\r\n      Thickness: \"厚度\",\r\n      \"Max Length\": \"最长长度\",\r\n      \"List Item\": \"项目名\",\r\n      \"Export Value\": \"项目值\",\r\n      \"Dropdown Item List\": \"下拉项列表\",\r\n      \"List Box Item List\": \"列表框项目列表\",\r\n      General: \"一般的\",\r\n      Appearance: \"外貌\",\r\n      Options: \"选项\",\r\n      \"Delete Item\": \"删除\",\r\n      Up: \"向上\",\r\n      Down: \"向下\",\r\n      Multiline: \"多线\",\r\n      Revised: \"修改\",\r\n      Reviewed: \"已审核\",\r\n      Received: \"已收到\",\r\n      Confidential: \"机密的\",\r\n      Approved: \"得到正式认可的\",\r\n      \"Not Approved\": \"不批准\",\r\n      Witness: \"证人\",\r\n      \"Initial Here\": \"初始这里\",\r\n      Draft: \"草稿\",\r\n      Final: \"最终的\",\r\n      \"For Public Release\": \"用于公共发布\",\r\n      \"Not For Public Release\": \"不公开发布\",\r\n      \"For Comment\": \"评论\",\r\n      Void: \"空白\",\r\n      \"Preliminary Results\": \"初步结果\",\r\n      \"Information Only\": \"仅供参考\",\r\n      in: \"在\",\r\n      m: \"米\",\r\n      ft_in: \"ft_in\",\r\n      ft: \"英尺\",\r\n      p: \"p\",\r\n      cm: \"厘米\",\r\n      mm: \"毫米\",\r\n      pt: \"点\",\r\n      cu: \"铜\",\r\n      sq: \"平方\",\r\n      Initial: \"最初的\",\r\n      \"No Search Matches\": \"未找到匹配项\",\r\n      \"No More Search Matches\": \"没有更多的比赛\",\r\n      \"No matches\": \"查看者已完成文档搜索。\",\r\n      \"No Text Found\": \"未找到文字\",\r\n    },\r\n    stepper: {\r\n      optional: \"选修的\",\r\n    },\r\n  },\r\n};\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { L10n, setCulture } from \"@syncfusion/ej2-base\";\r\nimport { jaLocalization } from \"../../assets/language/ja\";\r\nimport { koLocalization } from \"../../assets/language/ko\";\r\nimport { frLocalization } from \"../../assets/language/fr\";\r\nimport { zhLocalization } from \"../../assets/language/zh-CN\";\r\nimport { twLocalization } from \"../../assets/language/zh-TW\";\r\n@Injectable()\r\nexport class TranslationService {\r\n  constructor(private http: HttpClient) {}\r\n  getTranslation(selectLang?: string) {\r\n    const localLang = localStorage.getItem(\"language\");\r\n    if (!selectLang) {\r\n      selectLang = localLang || \"en\";\r\n    }\r\n    return new Promise((resolve) => {\r\n      let code = this.convertLangValue(selectLang);\r\n      if (selectLang != localLang) {\r\n        localStorage.setItem(\"language\", selectLang);\r\n      }\r\n      const data = { lang: code };\r\n      this.http\r\n        .post(`/api/ws/UserServiceWS.asmx/GetTranslation`, data)\r\n        .subscribe({\r\n          next: (res: any) => {\r\n            localStorage.setItem(\"translation\", JSON.stringify(res));\r\n            this.updateSyncfusionLanguage();\r\n            resolve(\"success\");\r\n          },\r\n        });\r\n    });\r\n  }\r\n  convertLangValue(code) {\r\n    let value =\r\n      code == \"en\"\r\n        ? 1\r\n        : code == \"zh-tw\"\r\n        ? 2\r\n        : code == \"zh-cn\"\r\n        ? 3\r\n        : code == \"ja-jp\"\r\n        ? 4\r\n        : code == \"ko-kr\"\r\n        ? 5\r\n        : code == \"fr-fr\"\r\n        ? 6\r\n        : 1;\r\n    return value;\r\n  }\r\n\r\n  convertLangCode(value) {\r\n    let code =\r\n      value == 1\r\n        ? \"en\"\r\n        : value == 2\r\n        ? \"zh-tw\"\r\n        : value == 3\r\n        ? \"zh-cn\"\r\n        : value == 4\r\n        ? \"ja-jp\"\r\n        : value == 5\r\n        ? \"ko-kr\"\r\n        : value == 6\r\n        ? \"fr-fr\"\r\n        : \"en\";\r\n    return code;\r\n  }\r\n\r\n  updateSyncfusionLanguage() {\r\n    const localLang = localStorage.getItem(\"language\");\r\n    if (localLang === \"zh-cn\") {\r\n      setCulture(\"zh\");\r\n      L10n.load(zhLocalization);\r\n    } else if (localLang === \"zh-tw\") {\r\n      setCulture(\"zh-Hant-HK\");\r\n      L10n.load(twLocalization);\r\n    } else if (localLang === \"ja-jp\") {\r\n      setCulture(\"ja\");\r\n      L10n.load(jaLocalization);\r\n    } else if (localLang === \"ko-kr\") {\r\n      setCulture(\"ko\");\r\n      L10n.load(koLocalization);\r\n    } else if (localLang === \"fr-fr\") {\r\n      setCulture(\"fr\");\r\n      L10n.load(frLocalization);\r\n    }\r\n  }\r\n}\r\n","// 组件类\r\nimport {\r\n  Component,\r\n  ContentChild,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n} from \"@angular/core\";\r\nimport { TranslationService } from \"../../service/translation.service\";\r\n@Component({\r\n  selector: \"rs-header\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class RSHeaderComponent implements OnInit {\r\n  constructor(public translationService: TranslationService) {}\r\n\r\n  @Input() isCollapsed: boolean = false; // 接收输入属性\r\n\r\n  @Input() lastLoginTime = new Date();\r\n  @Input() appName = \"\";\r\n\r\n  @Input()\r\n  set langOptions(options: any[]) {\r\n    this._langOptions = options;\r\n    if (options && options.length > 0) {\r\n      const languageCode = localStorage.getItem(\"language\") || \"en\";\r\n      this.currentLang = options.find((e) => e.languageCode === languageCode);\r\n    }\r\n  }\r\n\r\n  get langOptions(): any[] {\r\n    return this._langOptions;\r\n  }\r\n\r\n  @Output()\r\n  toggleMenu = new EventEmitter();\r\n\r\n  @Output()\r\n  changeLanguage = new EventEmitter();\r\n\r\n  private _langOptions = [];\r\n\r\n  currentLang: any;\r\n  public translation;\r\n\r\n  ngOnInit() {\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\")) || {};\r\n  }\r\n\r\n  onToggleMenu(isCollapsed?: boolean) {\r\n    const collapseState =\r\n      isCollapsed !== undefined ? isCollapsed : !this.isCollapsed;\r\n    this.toggleMenu.emit(collapseState);\r\n  }\r\n\r\n  selectLanguage(event) {\r\n    this.currentLang = this.langOptions.find(\r\n      (item) => item.text === event.item.text\r\n    );\r\n    this.changeLanguage.emit(this.currentLang.languageCode);\r\n  }\r\n}\r\n","<div class=\"rs-header\">\r\n  <div class=\"logo-wrap\">\r\n    <div class=\"toggle-menu-wrap\">\r\n      <img\r\n        class=\"toggle-menu\"\r\n        src=\"../../../assets/img/toggle-menu-icon.svg\"\r\n        (click)=\"onToggleMenu()\"\r\n      />\r\n    </div>\r\n    <img\r\n      class=\"logo\"\r\n      src=\"../../../assets/img/raise_logo_main_new.svg\"\r\n      alt=\"logo\"\r\n    />\r\n    <div *ngIf=\"appName\" class=\"header-app-name\">{{ appName }}</div>\r\n  </div>\r\n  <div class=\"content-header-wrap\">\r\n    <div class=\"bread-crumbs-wrap\">\r\n      <ng-content select=\"[breadCrumbs]\"></ng-content>\r\n    </div>\r\n    <div class=\"rs-header-toolbar-wrap\">\r\n      <div class=\"quick-icon-group\">\r\n        <ng-content select=\"[toolbar]\"></ng-content>\r\n      </div>\r\n      <div class=\"line\"></div>\r\n      <div class=\"langulage-wrap\">\r\n        <button\r\n          class=\"e-btn text\"\r\n          ejs-dropdownbutton\r\n          [items]=\"langOptions\"\r\n          (select)=\"selectLanguage($event)\"\r\n        >\r\n          {{ currentLang && currentLang.text }}\r\n        </button>\r\n      </div>\r\n      <!-- <div class=\"line\"></div>\r\n      <div class=\"last-login-wrap\">\r\n        {{ translation?.LAST_LOGIN || \"Last Login\" }}:\r\n        {{ lastLoginTime | date : \"dd MMM yy h:mm a\" }}\r\n      </div> -->\r\n      <div class=\"line\"></div>\r\n      <div class=\"user-info-wrap\">\r\n        <ng-content select=\"[userInfo]\"></ng-content>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","// 组件类\r\nimport {\r\n  Component,\r\n  OnInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'rs-footer',\r\n  templateUrl: './index.component.html',\r\n  styleUrls: ['./index.component.scss'],\r\n})\r\nexport class RSFooterComponent implements OnInit {\r\n  today = new Date();\r\n  ngOnInit() {\r\n  }\r\n}\r\n","<div class=\"rs-footer\">\r\n  <span>© {{ today | date : \"yyyy\" }} RAISE. All rights reserved.</span>\r\n</div>\r\n","// 组件类\r\nimport {\r\n  Component,\r\n  ContentChild,\r\n  ElementRef,\r\n  EventEmitter,\r\n  HostListener,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  ViewChild,\r\n} from \"@angular/core\";\r\nimport { RSHeaderComponent } from \"../rs-header/index.component\";\r\nimport { DrawerComponent } from \"../drawer/index.component\";\r\nimport { DrawerService } from \"../../service/drawer.service\";\r\nimport { MultiTabComponent } from \"../multi-tab/index.component\";\r\nimport { debounce } from \"lodash\";\r\n\r\n@Component({\r\n  selector: \"rs-main-container\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class MainContainerComponent implements OnInit {\r\n  @ContentChild(RSHeaderComponent, { static: true }) headerRef;\r\n  @ContentChild(MultiTabComponent, { static: true }) multiTabRef;\r\n\r\n  @ViewChild(\"drawer\", { static: false }) drawer: DrawerComponent;\r\n\r\n  @Input() isCollapsed: boolean = false; // 接收输入属性\r\n  @Input() singleReuseUrls: string[] = []; //只能单个缓存的url\r\n  @Output() onWidthChange = new EventEmitter();\r\n\r\n  private resizeObserver: ResizeObserver;\r\n  private debouncedHandleResize: (width: number) => void;\r\n  constructor(\r\n    private globalDrawer: DrawerService,\r\n    private elementRef: ElementRef\r\n  ) {\r\n    this.debouncedHandleResize = debounce((width: number) => {\r\n      // console.log(\"Debounced width change:\", width);\r\n      // 在这里处理防抖后的宽度变化逻辑\r\n      if (width) {\r\n        this.multiTabRef && this.multiTabRef.setEllipsisTitle();\r\n        this.onWidthChange.emit(width);\r\n      }\r\n    }, 300);\r\n  }\r\n\r\n  ngOnInit() {}\r\n\r\n  @HostListener(\"window:resize\", [\"$event\"])\r\n  onResize(event) {\r\n    const screenWidth = window.innerWidth; // 更新屏幕宽度\r\n    if (screenWidth <= 992) {\r\n      this.headerRef && this.headerRef.onToggleMenu(false);\r\n    } else if (screenWidth < 1200) {\r\n      this.headerRef && this.headerRef.onToggleMenu(true);\r\n    } else {\r\n      this.headerRef && this.headerRef.onToggleMenu(false);\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.globalDrawer.setDrawer(this.drawer); // 设置抽屉组件\r\n    const rightAside =\r\n      this.elementRef.nativeElement.querySelector(\".right-aside\");\r\n    this.resizeObserver = new ResizeObserver((entries) => {\r\n      for (const entry of entries) {\r\n        const width = entry.contentRect.width;\r\n        this.debouncedHandleResize(width);\r\n      }\r\n    });\r\n    this.resizeObserver.observe(rightAside);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (this.resizeObserver) {\r\n      this.resizeObserver.disconnect();\r\n    }\r\n  }\r\n\r\n  onRightAsideClick() {\r\n    const screenWidth = window.innerWidth;\r\n    if (screenWidth <= 992 && this.isCollapsed) {\r\n      this.headerRef && this.headerRef.onToggleMenu();\r\n    }\r\n  }\r\n}\r\n","<div class=\"app-main-container-wrap\">\r\n  <div class=\"app-main-container\">\r\n    <ng-content select=\"[headerSlot]\"></ng-content>\r\n    <div class=\"main-page\" id=\"mainPage\">\r\n      <div class=\"left-aside\">\r\n        <ng-content select=\"[leftAsideSlot]\"></ng-content>\r\n      </div>\r\n      <div\r\n        class=\"right-aside\"\r\n        [ngClass]=\"{ isCollapsed: isCollapsed }\"\r\n        (click)=\"onRightAsideClick()\"\r\n      >\r\n        <ng-content select=\"[multiTabSlot]\"></ng-content>\r\n        <!-- <rs-multi-tab [singleReuseUrls]=\"singleReuseUrls\"></rs-multi-tab> -->\r\n        <div class=\"router-content\">\r\n          <rs-drawer #drawer>\r\n            <ng-content select=\"[routerSlot]\"></ng-content>\r\n          </rs-drawer>\r\n        </div>\r\n        <rs-footer></rs-footer>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","// 组件类\r\nimport { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { Router, NavigationEnd } from \"@angular/router\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { CommonFunctionService } from \"../../service/common-function.service\";\r\n\r\n@Component({\r\n  selector: \"rs-aside\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class RSAsideComponent implements OnInit {\r\n  constructor(public router: Router, public cf: CommonFunctionService) {}\r\n  @Output()\r\n  toggleMenu = new EventEmitter();\r\n  @Output()\r\n  navClick = new EventEmitter<any>();\r\n\r\n  @Input() isCollapsed: boolean = false; // 接收输入属性\r\n  @Input() customNavClick: boolean = false; // 接收输入属性\r\n  @Input() navList = [];\r\n  @Input() relationStart = [];\r\n\r\n  currentNav = \"\";\r\n  ngOnInit() {\r\n    this.initCurrentNav();\r\n    // 监听路由变化\r\n    this.router.events\r\n      .pipe(filter((event) => event instanceof NavigationEnd))\r\n      .subscribe(() => {\r\n        // console.log('this.router.url', this.router.url)\r\n        const idx = this.relationStart.findIndex((item) =>\r\n          this.router.url.startsWith(item.url)\r\n        );\r\n        if (idx !== -1) {\r\n          this.currentNav = this.relationStart[idx].target;\r\n        } else {\r\n          this.currentNav = this.router.url;\r\n        }\r\n      });\r\n  }\r\n  initCurrentNav() {\r\n    const idx = this.relationStart.findIndex((item) =>\r\n      this.router.url.startsWith(item.url)\r\n    );\r\n    if (idx !== -1) {\r\n      this.currentNav = this.relationStart[idx].target;\r\n    } else {\r\n      this.currentNav = this.router.url;\r\n    }\r\n  }\r\n  onNavClick(item) {\r\n    if (!this.customNavClick) {\r\n      this.currentNav = item.url;\r\n      this.router.navigate([item.url], { state: { title: item.label } });\r\n      const screenWidth = window.innerWidth;\r\n      if (screenWidth <= 992 && this.isCollapsed) {\r\n        this.toggleMenu.emit(false);\r\n      }\r\n    }\r\n    this.navClick.emit(item);\r\n  }\r\n}\r\n","<div class=\"rs-aside\" [ngClass]=\"{ isCollapsed: isCollapsed }\">\r\n  <div class=\"nav-list\">\r\n    <div\r\n      class=\"nav-group\"\r\n      [ngClass]=\"group.class\"\r\n      *ngFor=\"let group of navList\"\r\n    >\r\n      <div\r\n        class=\"nav-item\"\r\n        [ngClass]=\"{ isCurrent: currentNav === nav.url }\"\r\n        *ngFor=\"let nav of group.navItems\"\r\n        (click)=\"onNavClick(nav)\"\r\n      >\r\n        <div class=\"nav-item-inner\" *ngIf=\"nav.menuType === 'MENU'\">\r\n          <ejs-tooltip\r\n            [showTipPointer]=\"false\"\r\n            *ngIf=\"isCollapsed; else originIcon\"\r\n            position='RightCenter'\r\n          >\r\n            <ng-template #content>\r\n              <div class=\"tooltip-content\">\r\n                {{ nav.label }}\r\n              </div>\r\n            </ng-template>\r\n            <mat-icon class=\"menu-icon\" [svgIcon]=\"nav.iconCode\"></mat-icon>\r\n          </ejs-tooltip>\r\n          <ng-template #originIcon>\r\n            <mat-icon class=\"menu-icon\" [svgIcon]=\"nav.iconCode\"></mat-icon>\r\n          </ng-template>\r\n          <!-- <mat-icon class=\"menu-icon\" [svgIcon]=\"nav.iconCode\"></mat-icon> -->\r\n          <ejs-tooltip\r\n            [showTipPointer]=\"false\"\r\n            *ngIf=\"nav.displayLabel !== nav.label; else originText\"\r\n            position='RightCenter'\r\n            class=\"nav-tooltip-text\"\r\n          >\r\n            <ng-template #content>\r\n              <div class=\"tooltip-content\">\r\n                {{ nav.label }}\r\n              </div>\r\n            </ng-template>\r\n            <span class=\"nav-text\" [ngClass]=\"{ isCollapsed: isCollapsed }\">{{\r\n              nav.displayLabel\r\n            }}</span>\r\n          </ejs-tooltip>\r\n          <ng-template #originText>\r\n            <span class=\"nav-text\" [ngClass]=\"{ isCollapsed: isCollapsed }\">{{\r\n              nav.label\r\n            }}</span>\r\n          </ng-template>\r\n        </div>\r\n        <div class=\"dividing-line\" *ngIf=\"nav.menuType === 'LABEL'\"></div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"bottom-iconbox\" [ngClass]=\"{ isCollapsed: isCollapsed }\">\r\n    <ng-content select=\"[bottomIconBox]\"></ng-content>\r\n  </div>\r\n</div>\r\n","// 组件类\r\nimport {\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  SimpleChanges,\r\n  ViewChild,\r\n  ElementRef,\r\n  HostListener,\r\n  ChangeDetectorRef,\r\n  AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { StepItem } from \"./constants\";\r\nimport { CommonFunctionService } from \"../../service/common-function.service\";\r\n\r\n@Component({\r\n  selector: \"rs-stepper\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class RSStepperComponent implements OnInit, AfterViewInit {\r\n  @ViewChild(\"menu\", { static: false }) menu!: ElementRef;\r\n  @Input() steps: StepItem[] = [];\r\n  @Input() currentStep: number = 0;\r\n  constructor(\r\n    public cf: CommonFunctionService,\r\n    private ref: ChangeDetectorRef\r\n  ) {}\r\n  @Output() stepClick = new EventEmitter<StepItem>();\r\n  @Input() unlockedStep: number = 0; //已解锁的最大步骤\r\n  @Input() containerRefId;\r\n\r\n  ngOnInit() {\r\n    this.steps.forEach((step) => {\r\n      step.displayTitle = this.cf.setMiddleEllipsis(step.label, 132, 12);\r\n    });\r\n    this.syncUnlockedStep();\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    setTimeout(() => this.checkBtnShow(true));\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (changes[\"currentStep\"] && !changes[\"currentStep\"].firstChange) {\r\n      this.syncUnlockedStep();\r\n      // 当外部传入的 currentStep 变化时，滚动到对应步骤\r\n      setTimeout(() => this.scrollToStep());\r\n    }\r\n    if (\r\n      (changes[\"steps\"] && changes[\"steps\"].currentValue) ||\r\n      changes[\"currentStep\"]\r\n    ) {\r\n      setTimeout(() => this.checkBtnShow());\r\n    }\r\n  }\r\n\r\n  // 同步unlockedStep的最大值\r\n  private syncUnlockedStep() {\r\n    if (this.currentStep > this.unlockedStep) {\r\n      this.unlockedStep = this.currentStep;\r\n    }\r\n  }\r\n\r\n  onStepClick(step: StepItem, index?: number) {\r\n    if (step.step <= this.unlockedStep) {\r\n      this.currentStep = step.step;\r\n      this.stepClick.emit(step);\r\n      setTimeout(() => this.scrollToStep(index));\r\n    }\r\n  }\r\n\r\n  private scrollToStep(index?: number) {\r\n    if (!this.menu || !this.menu.nativeElement) return;\r\n\r\n    const menuEl = this.menu.nativeElement;\r\n    const items = menuEl.querySelectorAll(\".step\");\r\n    const targetIndex =\r\n      typeof index === \"number\"\r\n        ? index\r\n        : this.steps.findIndex((s) => s.step === this.currentStep);\r\n\r\n    if (targetIndex < 0 || targetIndex >= items.length) return;\r\n\r\n    const targetEl = items[targetIndex] as HTMLElement;\r\n\r\n    //获取相对位置\r\n    const containerRect = menuEl.getBoundingClientRect();\r\n    const elementRect = targetEl.getBoundingClientRect();\r\n\r\n    // 计算元素相对于容器的位置\r\n    const elementRelativeLeft =\r\n      elementRect.left - containerRect.left + menuEl.scrollLeft;\r\n    const elementWidth = elementRect.width;\r\n    const containerWidth = menuEl.clientWidth;\r\n\r\n    // 计算元素中心点相对于容器的位置\r\n    const elementCenter = elementRelativeLeft + elementWidth / 2;\r\n\r\n    // 目标滚动位置：让元素中心出现在可视区域中心\r\n    const scrollTarget = elementCenter - containerWidth / 2;\r\n\r\n    // 限制在有效滚动范围内\r\n    const maxScroll = Math.max(0, menuEl.scrollWidth - containerWidth);\r\n    const finalTarget = Math.max(0, Math.min(scrollTarget, maxScroll));\r\n\r\n    menuEl.scrollTo({ left: finalTarget, behavior: \"smooth\" });\r\n    this.onScroll();\r\n  }\r\n\r\n  @HostListener(\"window:resize\", [\"$event\"])\r\n  onResize(event: Event) {\r\n    this.checkBtnShow();\r\n  }\r\n\r\n  checkBtnShow(init?: boolean) {\r\n    if (!this.menu || !this.menu.nativeElement) return;\r\n\r\n    const menuEl = this.menu.nativeElement;\r\n    const { scrollWidth, clientWidth } = menuEl;\r\n\r\n    // 判断是否需要显示滚动按钮\r\n    let threshold = clientWidth;\r\n    if (this.containerRefId) {\r\n      const containerRef = document.getElementById(this.containerRefId);\r\n      if (containerRef) {\r\n        threshold = Math.max(containerRef.offsetWidth * 0.8, 400);\r\n      }\r\n    }\r\n\r\n    this.showBtn = scrollWidth > threshold;\r\n\r\n    // 初始化时滚动到当前步骤\r\n    if (init) {\r\n      setTimeout(() => this.scrollToStep(), 0);\r\n    }\r\n\r\n    this.onScroll();\r\n    this.ref.markForCheck();\r\n  }\r\n  scrollLeft() {\r\n    const { scrollLeft } = this.menu.nativeElement;\r\n    const dis = scrollLeft / 100 < 2 ? scrollLeft + 10 : 100;\r\n    this.menu.nativeElement.scrollBy({ left: -dis, behavior: \"smooth\" });\r\n  }\r\n  scrollRight() {\r\n    const { scrollLeft, scrollWidth, clientWidth } = this.menu.nativeElement;\r\n    const rest = scrollWidth - clientWidth - scrollLeft;\r\n    const dis = rest / 100 < 2 ? rest + 10 : 100;\r\n    this.menu.nativeElement.scrollBy({ left: dis, behavior: \"smooth\" });\r\n  }\r\n\r\n  showBtn = false;\r\n  isAtStart = true;\r\n  isAtEnd = false;\r\n  onScroll() {\r\n    const { scrollLeft, scrollWidth, clientWidth } = this.menu.nativeElement;\r\n    this.isAtStart = scrollLeft <= 1;\r\n    this.isAtEnd = scrollLeft + clientWidth >= scrollWidth - 1;\r\n    this.ref.markForCheck();\r\n  }\r\n}\r\n","<div class=\"rs-stepper\">\r\n  <div class=\"steps-wrap\">\r\n    <div\r\n      class=\"row-btn\"\r\n      [class.hidden]=\"isAtStart || !showBtn\"\r\n      (click)=\"scrollLeft()\"\r\n    >\r\n      <div class=\"hover\">\r\n        <svg\r\n          xmlns=\"http://www.w3.org/2000/svg\"\r\n          width=\"17\"\r\n          height=\"16\"\r\n          viewBox=\"0 0 17 16\"\r\n          fill=\"none\"\r\n        >\r\n          <path\r\n            d=\"M10.4995 3.99955L7.24219 8.24219L10.4995 12.4848\"\r\n            stroke=\"#1F7BFF\"\r\n          />\r\n        </svg>\r\n      </div>\r\n      <div class=\"normal\">\r\n        <svg\r\n          xmlns=\"http://www.w3.org/2000/svg\"\r\n          width=\"17\"\r\n          height=\"16\"\r\n          viewBox=\"0 0 17 16\"\r\n          fill=\"none\"\r\n        >\r\n          <path\r\n            d=\"M10.4995 3.99955L7.24219 8.24219L10.4995 12.4848\"\r\n            stroke=\"#6B6B6B\"\r\n          />\r\n        </svg>\r\n      </div>\r\n    </div>\r\n    <div\r\n      class=\"steps-content\"\r\n      [ngClass]=\"{\r\n        leftMask: showBtn && !isAtStart,\r\n        rightMask: showBtn && !isAtEnd,\r\n        bothMask: showBtn && !isAtStart && showBtn && !isAtEnd\r\n      }\"\r\n      #menu\r\n      (scroll)=\"onScroll()\"\r\n    >\r\n      <ng-container *ngFor=\"let item of steps; let i = index\">\r\n        <div\r\n          class=\"step\"\r\n          [ngClass]=\"{\r\n            done: item.step <= unlockedStep,\r\n            active: item.step === currentStep\r\n          }\"\r\n          (click)=\"onStepClick(item, i)\"\r\n        >\r\n          <div\r\n            class=\"step-label\"\r\n            [matTooltip]=\"item.label !== item.displayTitle ? item.label : ''\"\r\n            matTooltipPosition=\"above\"\r\n          >\r\n            {{ item.displayTitle }}\r\n          </div>\r\n        </div>\r\n        <div class=\"step-arrow\" *ngIf=\"i < steps.length - 1\">\r\n          <img src=\"/assets/img/step-arrow.svg\" />\r\n        </div>\r\n      </ng-container>\r\n    </div>\r\n    <div\r\n      class=\"row-btn\"\r\n      [class.hidden]=\"isAtEnd || !showBtn\"\r\n      (click)=\"scrollRight()\"\r\n    >\r\n      <div class=\"hover\">\r\n        <svg\r\n          xmlns=\"http://www.w3.org/2000/svg\"\r\n          width=\"17\"\r\n          height=\"16\"\r\n          viewBox=\"0 0 17 16\"\r\n          fill=\"none\"\r\n        >\r\n          <path\r\n            d=\"M7.50045 3.99955L10.7578 8.24219L7.50045 12.4848\"\r\n            stroke=\"#1F7BFF\"\r\n          />\r\n        </svg>\r\n      </div>\r\n      <div class=\"normal\">\r\n        <svg\r\n          xmlns=\"http://www.w3.org/2000/svg\"\r\n          width=\"17\"\r\n          height=\"16\"\r\n          viewBox=\"0 0 17 16\"\r\n          fill=\"none\"\r\n        >\r\n          <path\r\n            d=\"M7.50045 3.99955L10.7578 8.24219L7.50045 12.4848\"\r\n            stroke=\"#6B6B6B\"\r\n          />\r\n        </svg>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","// 组件类\r\nimport { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"rs-tag-input\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class TagInputComponent implements OnInit {\r\n  @Input() value = [];\r\n  @Input() fields;\r\n  @Input() disabled = false;\r\n  @Input() error = false;\r\n  @Input(\"inputMinlength\") minlength = 3;\r\n  @Input(\"inputMaxlength\") maxlength = 30;\r\n\r\n  get inputMinlength() {\r\n    return this.minlength === undefined ? 3 : this.minlength;\r\n  }\r\n\r\n  get inputMaxlength() {\r\n    return this.minlength === undefined ? 30 : this.maxlength;\r\n  }\r\n\r\n  @Output()\r\n  valueChange = new EventEmitter();\r\n\r\n  @Output() focus = new EventEmitter();\r\n  @Output() blur = new EventEmitter();\r\n\r\n  ngOnInit() {}\r\n  onRemoveTag(tag) {\r\n    const tagsList = this.value.filter((i) => i !== tag);\r\n    this.valueChange.emit(tagsList);\r\n  }\r\n\r\n  onAddTag(event) {\r\n    const inputValue = event.target.value;\r\n    if (inputValue && this.verifyInputValue(inputValue)) {\r\n      this.valueChange.emit([...this.value, inputValue]);\r\n      event.target.value = \"\";\r\n    }\r\n  }\r\n  inputError = false;\r\n  verifyInputValue(inputValue) {\r\n    this.inputError = false;\r\n    const inputValueLength = inputValue.length;\r\n    if (\r\n      this.value.includes(inputValue) ||\r\n      inputValueLength > this.inputMaxlength ||\r\n      inputValueLength < this.inputMinlength\r\n    ) {\r\n      this.inputError = true;\r\n      return false;\r\n    }\r\n    return true;\r\n  }\r\n\r\n  onInput() {\r\n    this.inputError = false;\r\n  }\r\n\r\n  onFocus() {\r\n    this.focus.emit();\r\n  }\r\n\r\n  onBlur(event: any) {\r\n    this.onAddTag(event);\r\n    this.blur.emit();\r\n  }\r\n}\r\n","<div\r\n  class=\"form-tags\"\r\n  [ngClass]=\"{\r\n    disabled: disabled,\r\n    error: inputError || error\r\n  }\"\r\n>\r\n  <div class=\"form-tags-item\" *ngFor=\"let tag of value\">\r\n    <span>{{ tag }}</span>\r\n    <span class=\"form-tags-remove\" (click)=\"onRemoveTag(tag)\"></span>\r\n  </div>\r\n  <input\r\n    class=\"form-tags-input\"\r\n    (keyup.enter)=\"onAddTag($event)\"\r\n    (input)=\"onInput()\"\r\n    (focus)=\"onFocus()\"\r\n    (blur)=\"onBlur($event)\"\r\n    autocomplete=\"off\"\r\n    [minLength]=\"inputMinlength\"\r\n    [maxLength]=\"inputMaxlength\"\r\n  />\r\n</div>\r\n","// 组件类\r\nimport { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"rs-radio-group\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class RadioGroupComponent implements OnInit {\r\n  @Input() value;\r\n  @Input() dataSource = [];\r\n  @Input() orientation: 'horizontal' | 'vertical' = 'horizontal';\r\n  @Input() fields = { text: 'text', value: 'value', disabled: 'disabled' }\r\n  @Input() disabled = false;\r\n  @Input() error = false;\r\n\r\n  @Output()\r\n  valueChange = new EventEmitter();\r\n\r\n  ngOnInit() {\r\n  }\r\n  onChange(event){\r\n    const value = event.value\r\n    this.valueChange.emit(value);\r\n  }\r\n}\r\n","<div class=\"radio-group\" [ngClass]=\"[orientation, error ? 'error' : '']\">\r\n  <div class=\"radio-item\" *ngFor=\"let option of dataSource\">\r\n    <ejs-radiobutton\r\n      [label]=\"option[fields.text]\"\r\n      [(ngModel)]=\"value\"\r\n      [value]=\"option[fields.value]\"\r\n      [disabled]=\"option[fields.disabled] || disabled\"\r\n      (change)=\"onChange($event)\"\r\n    ></ejs-radiobutton>\r\n  </div>\r\n</div>\r\n","// 组件类\r\nimport {\r\n  ChangeDetectorRef,\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"rs-checkbox-group\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class CheckboxGroupComponent implements OnInit {\r\n  constructor(private ref: ChangeDetectorRef) {}\r\n  @Input() name; // 分组凭证\r\n  @Input() value = [];\r\n  @Input() dataSource = [];\r\n  @Input() orientation: \"horizontal\" | \"vertical\" = \"horizontal\";\r\n  @Input() fields = { text: \"text\", value: \"value\", disabled: \"disabled\" };\r\n  @Input() disabled = false;\r\n  @Input() error = false;\r\n\r\n  @Output()\r\n  valueChange = new EventEmitter();\r\n  translation;\r\n  indeterminate = false;\r\n  ngOnInit() {\r\n    console.log(\"first\", this.value);\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\"));\r\n  }\r\n  get enabledDataSource() {\r\n    return this.dataSource.filter((item) => !item[this.fields.disabled]) || [];\r\n  }\r\n\r\n  onChange(event, option) {\r\n    const originalValue = this.value;\r\n    let result;\r\n    if (event.checked) {\r\n      result = [...originalValue, option[this.fields.value]];\r\n    } else {\r\n      result = originalValue.filter((val) => val !== option[this.fields.value]);\r\n    }\r\n    this.calculateIndeterminate(result);\r\n    this.valueChange.emit(result);\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  onSelectAll(event) {\r\n    if (event.checked) {\r\n      this.valueChange.emit(\r\n        this.dataSource\r\n          .filter((item) => !item[this.fields.disabled])\r\n          .map((item) => item[this.fields.value])\r\n      );\r\n    } else {\r\n      this.valueChange.emit([]);\r\n    }\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  calculateIndeterminate(result) {\r\n    if (result.length === this.enabledDataSource.length) {\r\n      this.indeterminate = false;\r\n    } else if (\r\n      result.length > 0 &&\r\n      result.length < this.enabledDataSource.length\r\n    ) {\r\n      this.indeterminate = true;\r\n    } else {\r\n      this.indeterminate = false;\r\n    }\r\n  }\r\n}\r\n","<div class=\"checkbox-group\" [ngClass]=\"[orientation, error ? 'error' : '']\">\r\n  <ejs-checkbox\r\n    [label]=\"translation.SELECT_ALL ? translation.SELECT_ALL : 'Select All'\"\r\n    [indeterminate]=\"indeterminate\"\r\n    [checked]=\"value.length === enabledDataSource.length ? true : false\"\r\n    (change)=\"onSelectAll($event)\"\r\n  ></ejs-checkbox>\r\n  <div class=\"checkbox-item\" *ngFor=\"let option of dataSource\">\r\n    <ejs-checkbox\r\n      [name]=\"name\"\r\n      [label]=\"option[fields.text]\"\r\n      [value]=\"option[fields.value]\"\r\n      [disabled]=\"option[fields.disabled] || disabled\"\r\n      [checked]=\"value.includes(option[fields.value])\"\r\n      (change)=\"onChange($event, option)\"\r\n    ></ejs-checkbox>\r\n  </div>\r\n</div>\r\n","// 组件类\r\nimport { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"rs-switch-input\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class SwitchInputComponent implements OnInit {\r\n  @Input() value;\r\n  @Input() text;\r\n  @Input() orientation: 'front' | 'behind' = 'front';\r\n  @Input() disabled = false;\r\n  @Input() error = false;\r\n\r\n  @Output()\r\n  valueChange = new EventEmitter();\r\n\r\n  ngOnInit() {}\r\n  onChange(event) {\r\n    const value = event.checked;\r\n    this.valueChange.emit(value);\r\n  }\r\n  onClick(){\r\n    const value = !this.value;\r\n    this.valueChange.emit(value);\r\n  }\r\n}\r\n","<div class=\"rs-switch\" [ngClass]=\"[orientation, error ? 'error' : '', disabled ? 'disabled' : '']\">\r\n  <label class=\"switch-label\" (click)=\"onClick()\"> {{ text }} </label>\r\n  <ejs-switch\r\n    [(ngModel)]=\"value\"\r\n    [disabled]=\"disabled\"\r\n    (change)=\"onChange($event)\"\r\n  ></ejs-switch>\r\n</div>\r\n","// 组件类\r\nimport { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"rs-encrypted-input\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class EncryptedInputComponent implements OnInit {\r\n  @Input() value;\r\n  @Input() disabled = false;\r\n  @Input() error = false;\r\n  @Input() placeholder = \"\";\r\n\r\n  @Output()\r\n  valueChange = new EventEmitter();\r\n  encrypted = true;\r\n  ngOnInit() {}\r\n  onInput(event) {\r\n    const value = event.target.value;\r\n    this.valueChange.emit(value);\r\n  }\r\n}\r\n","<div class=\"rs-encrypted-input\">\r\n  <input\r\n    [ngClass]=\"{\r\n      disabled: disabled,\r\n      error: error\r\n    }\"\r\n    class=\"e-input\"\r\n    type=\"text\"\r\n    [type]=\"encrypted ? 'password' : 'text'\"\r\n    [(ngModel)]=\"value\"\r\n    [disabled]=\"disabled\"\r\n    (input)=\"onInput($event)\"\r\n  />\r\n  <span\r\n    [ngClass]=\"{ 'right-eyes': true, 'close-eye': !encrypted }\"\r\n    (click)=\"encrypted = !encrypted\"\r\n  ></span>\r\n</div>\r\n","export type FieldItem = {\r\n  show?: (...args: any[]) => boolean;\r\n  label: string;\r\n  formKey: string;\r\n  fieldFormType:\r\n    | \"Radio\"\r\n    | \"Checkbox\"\r\n    | \"Switch\"\r\n    | \"Text\"\r\n    | \"Email\"\r\n    | \"Textarea\"\r\n    | \"Number\"\r\n    | \"Tags\"\r\n    | \"AutoComplete\"\r\n    | \"Dropdown\"\r\n    | \"MultiSelect\"\r\n    | \"Datepicker\"\r\n    | \"Custom\";\r\n  optionKey?: string;\r\n  groupKey?: string;\r\n  required?: boolean;\r\n  disabled?: boolean | ((...args: any[]) => boolean);\r\n  maxlength?: number;\r\n  minlength?: number;\r\n  max?: number;\r\n  min?: number;\r\n  step?: number;\r\n  decimals?: number;\r\n  format?: string | false;\r\n  tooltip?: string;\r\n  validator?: (value: any, field: FieldItem) => boolean;\r\n  onInput?: (value: any, field: FieldItem, ...args: any[]) => void;\r\n  onChange?: (value: any, field: FieldItem, ...args: any[]) => void;\r\n  onFocus?: (field: FieldItem, ...args: any[]) => void;\r\n  onBlur?: (field: FieldItem, ...args: any[]) => void;\r\n};\r\n\r\nexport type SectionItem = {\r\n  show?: (...args: any[]) => boolean;\r\n  customKey?: string;\r\n  title: string;\r\n  fields: FieldItem[];\r\n};\r\n\r\nexport function filterShowSection(sections: SectionItem[]): SectionItem[] {\r\n  return sections\r\n    .filter((section) => !section.show || section.show())\r\n    .map((section) => ({\r\n      ...section,\r\n      fields: section.fields.filter((field) => !field.show || field.show()),\r\n    }));\r\n}\r\n\r\nexport const EmailPattern =\r\n  /^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  OnChanges,\r\n  OnInit,\r\n  Output,\r\n  QueryList,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n  ViewChild,\r\n  ViewChildren,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport {\r\n  DropDownListComponent,\r\n  FilteringEventArgs,\r\n} from \"@syncfusion/ej2-angular-dropdowns\";\r\nimport { Query } from \"@syncfusion/ej2-data\";\r\nimport moment from \"moment\";\r\nimport {\r\n  EmailPattern,\r\n  FieldItem,\r\n  filterShowSection,\r\n  SectionItem,\r\n} from \"./constants\";\r\n\r\nconst FORM_PROXY_TAG = Symbol.for(\"form-proxy\");\r\n\r\n@Component({\r\n  selector: \"rs-drawer-form\",\r\n  templateUrl: \"./drawer-form.component.html\",\r\n  styleUrls: [\"./drawer-form.component.scss\"],\r\n})\r\nexport class DrawerFormComponent implements OnInit, OnChanges, AfterViewInit {\r\n  @Input(\"form\") _form: Record<string, any> = {};\r\n  @Input(\"sections\") _sections: SectionItem[] = [];\r\n  @Input(\"optionsMap\") optionsMap: Record<string, any[]> = {};\r\n  @Input(\"disabled\") formDisabled = false;\r\n\r\n  @Input(\"showAnchor\") showAnchor = true;\r\n  @Input(\"customTemplate\") customTemplate: TemplateRef<any>;\r\n  @Input(\"customSectionTemplate\")\r\n  customSectionTemplate: Record<string, TemplateRef<any>>;\r\n\r\n  @Input(\"optionFields\") optionFields = {\r\n    text: \"text\",\r\n    value: \"code\",\r\n    disabled: \"disabled\",\r\n    groupBy: null,\r\n  };\r\n  @Input(\"showFilterNumber\") showFilterNumber = 10;\r\n  @Input(\"numberFormat\") numberFormat: string;\r\n  @Input(\"dateFormat\") dateFormat = \"yyyy-MM-dd\";\r\n\r\n  @Output(\"formChange\") formChange = new EventEmitter<Record<string, any>>();\r\n  @Output(\"fieldChange\") fieldChange = new EventEmitter<{\r\n    field: FieldItem;\r\n    value: any;\r\n  }>();\r\n\r\n  @ViewChild(\"drawerFormEl\", { static: false })\r\n  rootEl: ElementRef<HTMLDivElement>;\r\n\r\n  // 自定义 field 模板和自定义 section 模板的容器\r\n  @ViewChildren(\"customTemplateContainer\", { read: ViewContainerRef })\r\n  private containers: QueryList<ViewContainerRef>;\r\n  @ViewChildren(\"customSectionContainer\", { read: ViewContainerRef })\r\n  private sectionContainers: QueryList<ViewContainerRef>;\r\n\r\n  @ViewChildren(\"dropdown\")\r\n  dropdowns: QueryList<DropDownListComponent>;\r\n\r\n  sections: SectionItem[] = [];\r\n  fieldTypeMap: Partial<Record<FieldItem[\"fieldFormType\"], FieldItem[]>> = {};\r\n  formFieldMap: Record<string, FieldItem> = {};\r\n\r\n  form: Record<string, any> = {};\r\n  fieldValidMap: Record<string, boolean> = {};\r\n\r\n  // 存储 datepicker 的值\r\n  dateForm: Record<string, Date> = {};\r\n  dateValidMap: Record<string, boolean> = {};\r\n\r\n  constructor(private ref: ChangeDetectorRef) {}\r\n\r\n  ngOnInit() {}\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (changes._sections) {\r\n      this.sections = filterShowSection(changes._sections.currentValue);\r\n      this.formatFieldMap();\r\n      this.setForm({ ...this.form, ...this._form });\r\n    }\r\n    if (changes._form) {\r\n      if (!changes._form.currentValue[FORM_PROXY_TAG]) {\r\n        this.setForm(changes._form.currentValue);\r\n      } else {\r\n        this.form = changes._form.currentValue;\r\n      }\r\n      if (!changes._form.firstChange) {\r\n        this.checkFormChange(\r\n          changes._form.previousValue,\r\n          changes._form.currentValue\r\n        );\r\n      }\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.customTemplateRender(this.containers);\r\n    this.customSectionRender(this.sectionContainers);\r\n    this.containers.changes.subscribe(\r\n      (containers: QueryList<ViewContainerRef>) => {\r\n        this.containers = containers;\r\n        this.customTemplateRender(containers);\r\n      }\r\n    );\r\n    this.sectionContainers.changes.subscribe(\r\n      (containers: QueryList<ViewContainerRef>) => {\r\n        this.sectionContainers = containers;\r\n        this.customSectionRender(containers);\r\n      }\r\n    );\r\n    this.dropdowns.changes.subscribe(\r\n      (dropdowns: QueryList<DropDownListComponent>) => {\r\n        this.dropdowns = dropdowns;\r\n      }\r\n    );\r\n    if (this.showAnchor) {\r\n      this.initAnchorScrollHandler();\r\n    }\r\n  }\r\n\r\n  customTemplateRender(containers: QueryList<ViewContainerRef>) {\r\n    if (this.customTemplate && containers.length > 0) {\r\n      const customFields = this.fieldTypeMap.Custom || [];\r\n      containers.forEach((container, index) => {\r\n        container.clear();\r\n        container.createEmbeddedView(this.customTemplate, {\r\n          $implicit: customFields[index],\r\n        });\r\n      });\r\n    }\r\n  }\r\n\r\n  customSectionRender(containers: QueryList<ViewContainerRef>) {\r\n    if (this.customSectionTemplate && containers.length > 0) {\r\n      const customSections = this.sections.filter(\r\n        (section) => section.customKey\r\n      );\r\n      containers.forEach((container, index) => {\r\n        container.clear();\r\n        const customKey = customSections[index].customKey;\r\n        container.createEmbeddedView(this.customSectionTemplate[customKey], {\r\n          $implicit: customSections[index],\r\n        });\r\n      });\r\n    }\r\n  }\r\n\r\n  formatFieldMap() {\r\n    this.fieldTypeMap = {};\r\n    this.formFieldMap = {};\r\n    this.sections.forEach((section) => {\r\n      section.fields.forEach((field) => {\r\n        if (!this.fieldTypeMap[field.fieldFormType]) {\r\n          this.fieldTypeMap[field.fieldFormType] = [];\r\n        }\r\n        this.fieldTypeMap[field.fieldFormType].push(field);\r\n        this.formFieldMap[field.formKey] = field;\r\n      });\r\n    });\r\n  }\r\n\r\n  setForm(form: Record<string, any>) {\r\n    this.form = this.getFormProxy(this.formatForm(this.sections, form));\r\n    this.syncFormField();\r\n    this.formChange.emit(this.form);\r\n  }\r\n\r\n  equal(value: any, compareValue: any) {\r\n    // 只对数组进行特殊判断\r\n    if (Array.isArray(value) && Array.isArray(compareValue)) {\r\n      return (\r\n        value.length === compareValue.length &&\r\n        value.every((i, index) => i === compareValue[index])\r\n      );\r\n    }\r\n    return Object.is(value, compareValue);\r\n  }\r\n\r\n  checkFormChange(previous: Record<string, any>, current: Record<string, any>) {\r\n    Object.entries(current).forEach(([key, currentValue]) => {\r\n      if (!this.equal(previous[key], currentValue)) {\r\n        const field = this.getField(key);\r\n        if (field) {\r\n          this.formItemValidator(field);\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  syncFormToDateForm(field: FieldItem, value: any) {\r\n    if (value) {\r\n      const date = moment(value);\r\n      this.dateForm[field.formKey] = date.isValid() ? date.toDate() : null;\r\n    } else {\r\n      this.dateForm[field.formKey] = null;\r\n    }\r\n  }\r\n\r\n  syncFormField() {\r\n    this.sections.forEach((section: SectionItem) => {\r\n      section.fields.forEach((field) => {\r\n        switch (field.fieldFormType) {\r\n          case \"Datepicker\":\r\n            this.syncFormToDateForm(field, this.form[field.formKey]);\r\n            break;\r\n        }\r\n      });\r\n    });\r\n  }\r\n\r\n  formatForm(sections: SectionItem[], form: Record<string, any>) {\r\n    sections.forEach((section: SectionItem) => {\r\n      section.fields.forEach((field) => {\r\n        switch (field.fieldFormType) {\r\n          case \"Text\":\r\n          case \"Email\":\r\n          case \"Textarea\":\r\n            if (form[field.formKey] === undefined) {\r\n              form[field.formKey] = \"\";\r\n            }\r\n            break;\r\n\r\n          case \"Tags\":\r\n          case \"Checkbox\":\r\n          case \"MultiSelect\":\r\n            if (!Array.isArray(form[field.formKey])) {\r\n              form[field.formKey] = [];\r\n            }\r\n            break;\r\n\r\n          case \"Switch\":\r\n            form[field.formKey] = !!form[field.formKey];\r\n            break;\r\n\r\n          default:\r\n            if (form[field.formKey] === undefined) {\r\n              form[field.formKey] = null;\r\n            }\r\n        }\r\n      });\r\n    });\r\n    return form;\r\n  }\r\n\r\n  getFormProxy(form: Record<string, any>) {\r\n    // 现在不支持嵌套 form 属性，只对浅层进行处理\r\n    const proxyForm = new Proxy(form, {\r\n      set: (target, prop: string, value: any) => {\r\n        target[prop] = value;\r\n\r\n        const field = this.getField(prop);\r\n        if (field) {\r\n          if (field.fieldFormType === \"Datepicker\") {\r\n            this.syncFormToDateForm(field, value);\r\n          }\r\n          this.formItemValidator(field);\r\n        }\r\n\r\n        return true;\r\n      },\r\n    });\r\n\r\n    Object.defineProperty(proxyForm, FORM_PROXY_TAG, {\r\n      value: true,\r\n      writable: false,\r\n      enumerable: false,\r\n      configurable: false,\r\n    });\r\n    return proxyForm;\r\n  }\r\n\r\n  // 表单提交前会触发这个函数\r\n  updateForm(value: any, field: FieldItem) {\r\n    this.form[field.formKey] = value;\r\n    this.formChange.emit(this.form);\r\n    this.fieldChange.emit({ field, value });\r\n  }\r\n\r\n  formItemValidator(field: FieldItem, isAuto = false) {\r\n    const value = this.form[field.formKey];\r\n    let isValid = true;\r\n    if (field.required) {\r\n      isValid = Array.isArray(value)\r\n        ? value.length !== 0\r\n        : ![null, undefined, \"\"].includes(value);\r\n    }\r\n    if (isValid && field.fieldFormType === \"Email\" && value) {\r\n      isValid = EmailPattern.test(value);\r\n    }\r\n    if (isValid && field.maxlength) {\r\n      isValid = String(value).length <= field.maxlength;\r\n    }\r\n    if (isValid && field.minlength) {\r\n      isValid = String(value).length >= field.minlength;\r\n    }\r\n    if (isValid && field.max) {\r\n      isValid = value <= field.max;\r\n    }\r\n    if (isValid && field.min) {\r\n      isValid = value >= field.min;\r\n    }\r\n    if (isValid && typeof field.validator === \"function\") {\r\n      isValid = field.validator.call(null, value, field);\r\n    }\r\n    if (!isAuto) {\r\n      this.fieldValidMap[field.formKey] = isValid;\r\n    }\r\n    return isValid;\r\n  }\r\n\r\n  preCheckFormIsValid() {\r\n    let formIsValid = true;\r\n    this.sections.forEach((section) =>\r\n      section.fields.forEach((field) => {\r\n        formIsValid = this.formItemValidator(field) && formIsValid;\r\n      })\r\n    );\r\n    return formIsValid;\r\n  }\r\n\r\n  get formIsValid() {\r\n    return this.sections.every((section) =>\r\n      section.fields.every((field) => this.formItemValidator(field, true))\r\n    );\r\n  }\r\n\r\n  getField(formKey: string) {\r\n    return this.formFieldMap[formKey] || null;\r\n  }\r\n\r\n  private callFunction(fn: Function, ...args: any[]) {\r\n    this.formItemValidator(args[1] || args[0]);\r\n    if (typeof fn === \"function\") {\r\n      fn.apply(null, args);\r\n    }\r\n  }\r\n\r\n  onInput(value: string, field: FieldItem) {\r\n    this.callFunction(field.onInput, value, field);\r\n  }\r\n\r\n  onComponentChange(event: any, field: FieldItem) {\r\n    if (!event.isInteracted) {\r\n      return;\r\n    }\r\n    if (field.fieldFormType !== \"Datepicker\") {\r\n      this.onChange(event.value, field);\r\n      return;\r\n    }\r\n    console.log(\"change\", event);\r\n    const value = event.value ? moment(event.value).format(\"YYYY-MM-DD\") : null;\r\n    this.dateForm[field.formKey] = event.value;\r\n    this.onChange(value, field);\r\n  }\r\n\r\n  onChange(value: any, field: FieldItem) {\r\n    this.updateForm(value, field);\r\n    this.callFunction(field.onChange, value, field);\r\n  }\r\n\r\n  onDatePickerBlur(event: any, field: FieldItem) {\r\n    this.onBlur(field);\r\n\r\n    setTimeout(() => {\r\n      const $input = event.model.element.querySelector(\"input\");\r\n      if ($input && $input.value && !this.dateForm[field.formKey]) {\r\n        this.dateValidMap[field.formKey] = false;\r\n      } else {\r\n        delete this.dateValidMap[field.formKey];\r\n      }\r\n    }, 50);\r\n  }\r\n\r\n  onFocus(field: FieldItem) {\r\n    this.callFunction(field.onFocus, field);\r\n  }\r\n\r\n  onBlur(field: FieldItem) {\r\n    this.callFunction(field.onBlur, field);\r\n  }\r\n\r\n  onFiltering(event: FilteringEventArgs, field: FieldItem) {\r\n    const query = new Query();\r\n    if (event.text) {\r\n      query.where(this.optionFields.text, \"contains\", event.text, true);\r\n    }\r\n    event.updateData(this.getOptions(field), query);\r\n  }\r\n\r\n  onDropdownDataBound(event: any, field: FieldItem) {\r\n    const index = this.fieldTypeMap[field.fieldFormType].indexOf(field);\r\n    const component = this.dropdowns.toArray()[index];\r\n    if (event.items.length > 0 && index !== -1 && component) {\r\n      component.value = this.form[field.formKey];\r\n    }\r\n  }\r\n\r\n  getOptions(field: FieldItem) {\r\n    if (Array.isArray(this.optionsMap[field.optionKey])) {\r\n      return this.optionsMap[field.optionKey];\r\n    }\r\n    if (Array.isArray(this.optionsMap[field.formKey])) {\r\n      return this.optionsMap[field.formKey];\r\n    }\r\n    return [];\r\n  }\r\n\r\n  getDisabled(field: FieldItem) {\r\n    if (this.formDisabled) {\r\n      return true;\r\n    }\r\n    if (typeof field.disabled === \"function\") {\r\n      return field.disabled();\r\n    }\r\n    return field.disabled;\r\n  }\r\n\r\n  getOptionFields(field: FieldItem) {\r\n    if ([\"Dropdown\", \"AutoComplete\"].includes(field.fieldFormType)) {\r\n      return { ...this.optionFields, groupBy: field.groupKey || null };\r\n    }\r\n    return this.optionFields;\r\n  }\r\n\r\n  @ViewChildren(\"sectionEl\")\r\n  sectionEls: QueryList<ElementRef<HTMLDivElement>>;\r\n  scrollIndex = 0;\r\n  isClickAnchor = false;\r\n\r\n  onClickAnchor(index: number) {\r\n    const sectionItems = this.sectionEls.toArray();\r\n    sectionItems[index].nativeElement.scrollIntoView(true);\r\n    this.scrollIndex = index;\r\n    this.isClickAnchor = true;\r\n  }\r\n\r\n  findScrollViewEl(el: HTMLElement): HTMLElement {\r\n    if (el === document.body) {\r\n      return el;\r\n    }\r\n    if (el.scrollHeight && el.scrollHeight !== el.offsetHeight) {\r\n      return el;\r\n    }\r\n    return this.findScrollViewEl(el.parentElement);\r\n  }\r\n\r\n  initAnchorScrollHandler() {\r\n    const scrollViewEl = this.findScrollViewEl(this.rootEl.nativeElement);\r\n    const scrollHeight = scrollViewEl.scrollHeight - scrollViewEl.offsetHeight;\r\n    const sectionViewRatio = this.sectionEls.toArray().map((section) => {\r\n      const ratio =\r\n        section.nativeElement.offsetHeight / scrollViewEl.scrollHeight;\r\n      return scrollHeight * ratio;\r\n    });\r\n\r\n    const onScroll = () => {\r\n      if (this.isClickAnchor) {\r\n        this.isClickAnchor = false;\r\n        return;\r\n      }\r\n      const scrollTop =\r\n        scrollViewEl.scrollTop > scrollHeight\r\n          ? scrollHeight\r\n          : scrollViewEl.scrollTop;\r\n      let radioScrollHeight = 0;\r\n      for (let index = 0; index < sectionViewRatio.length; index++) {\r\n        radioScrollHeight += sectionViewRatio[index];\r\n        if (radioScrollHeight >= scrollTop) {\r\n          this.scrollIndex = index;\r\n          break;\r\n        }\r\n      }\r\n      while (\r\n        this.sections[this.scrollIndex] &&\r\n        !this.sections[this.scrollIndex].title\r\n      ) {\r\n        this.scrollIndex++;\r\n      }\r\n      this.ref.markForCheck();\r\n    };\r\n\r\n    onScroll();\r\n    scrollViewEl.addEventListener(\"scroll\", onScroll);\r\n  }\r\n}\r\n","<div #drawerFormEl class=\"rs-drawer-form-container\">\r\n  <div class=\"section-container\">\r\n    <div #sectionEl class=\"section-item\" *ngFor=\"let section of sections\">\r\n      <input\r\n        type=\"checkbox\"\r\n        class=\"section-expand-checkbox\"\r\n        *ngIf=\"section.title\"\r\n      />\r\n      <div class=\"section-title\" *ngIf=\"section.title\">\r\n        <span>{{ section.title }}</span>\r\n      </div>\r\n      <div class=\"section-form\" *ngIf=\"!section.customKey\">\r\n        <div\r\n          class=\"form-item\"\r\n          *ngFor=\"let field of section.fields\"\r\n          [attr.data-required]=\"field.required ? 'yes' : 'no'\"\r\n          [attr.data-disabled]=\"field.disabled || formDisabled ? 'yes' : 'no'\"\r\n          [attr.data-error]=\"\r\n            fieldValidMap[field.formKey] === false ? 'yes' : 'no'\r\n          \"\r\n        >\r\n          <div class=\"form-label\">\r\n            <span>{{ field.label }}</span>\r\n            <ejs-tooltip\r\n              class=\"form-tooltip\"\r\n              cssClass=\"rs-drawer-tooltip\"\r\n              *ngIf=\"field.tooltip\"\r\n              position=\"RightCenter\"\r\n              [content]=\"field.tooltip\"\r\n            >\r\n              <span class=\"tooltip-icon\"></span>\r\n            </ejs-tooltip>\r\n          </div>\r\n          <div class=\"form-content\">\r\n            <!-- Radio -->\r\n            <rs-radio-group\r\n              *ngIf=\"field.fieldFormType === 'Radio'\"\r\n              [value]=\"form[field.formKey]\"\r\n              [dataSource]=\"getOptions(field)\"\r\n              [fields]=\"getOptionFields(field)\"\r\n              [disabled]=\"getDisabled(field)\"\r\n              [error]=\"fieldValidMap[field.formKey] === false\"\r\n              (valueChange)=\"onChange($event, field)\"\r\n            ></rs-radio-group>\r\n            <!-- Checkbox -->\r\n            <rs-checkbox-group\r\n              *ngIf=\"field.fieldFormType === 'Checkbox'\"\r\n              [value]=\"form[field.formKey]\"\r\n              [dataSource]=\"getOptions(field)\"\r\n              [fields]=\"getOptionFields(field)\"\r\n              [disabled]=\"getDisabled(field)\"\r\n              [error]=\"fieldValidMap[field.formKey] === false\"\r\n              (valueChange)=\"onChange($event, field)\"\r\n            ></rs-checkbox-group>\r\n            <!-- Switch -->\r\n            <rs-switch-input\r\n              *ngIf=\"field.fieldFormType === 'Switch'\"\r\n              [value]=\"form[field.formKey]\"\r\n              [disabled]=\"getDisabled(field)\"\r\n              (valueChange)=\"onChange($event, field)\"\r\n            ></rs-switch-input>\r\n            <!-- Input -->\r\n            <input\r\n              class=\"e-input\"\r\n              *ngIf=\"\r\n                field.fieldFormType === 'Text' ||\r\n                field.fieldFormType === 'Email'\r\n              \"\r\n              [value]=\"form[field.formKey]\"\r\n              [disabled]=\"getDisabled(field)\"\r\n              [required]=\"field.required\"\r\n              [attr.maxlength]=\"field.maxlength\"\r\n              [attr.minlength]=\"field.minlength\"\r\n              [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n              (input)=\"onInput($event.target.value, field)\"\r\n              (change)=\"onChange($event.target.value, field)\"\r\n              (focus)=\"onFocus(field)\"\r\n              (blur)=\"onBlur(field)\"\r\n              autocomplete=\"off\"\r\n            />\r\n            <!-- Textarea -->\r\n            <textarea\r\n              class=\"e-input\"\r\n              *ngIf=\"field.fieldFormType === 'Textarea'\"\r\n              [value]=\"form[field.formKey]\"\r\n              [disabled]=\"getDisabled(field)\"\r\n              [required]=\"field.required\"\r\n              [attr.maxlength]=\"field.maxlength\"\r\n              [attr.minlength]=\"field.minlength\"\r\n              [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n              (input)=\"onInput($event.target.value, field)\"\r\n              (change)=\"onChange($event.target.value, field)\"\r\n              (focus)=\"onFocus(field)\"\r\n              (blur)=\"onBlur(field)\"\r\n              autocomplete=\"off\"\r\n              rows=\"3\"\r\n            ></textarea>\r\n            <!-- Number Input -->\r\n            <ejs-numerictextbox\r\n              *ngIf=\"field.fieldFormType === 'Number'\"\r\n              [value]=\"form[field.formKey]\"\r\n              [max]=\"field.max\"\r\n              [min]=\"field.min\"\r\n              [step]=\"field.step\"\r\n              [decimals]=\"field.decimals\"\r\n              [format]=\"field.format || numberFormat\"\r\n              [enabled]=\"!getDisabled(field)\"\r\n              [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n              (change)=\"onComponentChange($event, field)\"\r\n              (focus)=\"onFocus(field)\"\r\n              (blur)=\"onBlur(field)\"\r\n            ></ejs-numerictextbox>\r\n            <!-- Tags Input -->\r\n            <rs-tag-input\r\n              *ngIf=\"field.fieldFormType === 'Tags'\"\r\n              [value]=\"form[field.formKey]\"\r\n              [fields]=\"getOptionFields(field)\"\r\n              [inputMaxlength]=\"field.maxlength\"\r\n              [inputMinlength]=\"field.minlength\"\r\n              [disabled]=\"getDisabled(field)\"\r\n              [error]=\"fieldValidMap[field.formKey] === false\"\r\n              (valueChange)=\"onChange($event, field)\"\r\n              (focus)=\"onFocus(field)\"\r\n              (blur)=\"onBlur(field)\"\r\n            ></rs-tag-input>\r\n            <!-- AutoComplete -->\r\n            <ejs-autocomplete\r\n              *ngIf=\"field.fieldFormType === 'AutoComplete'\"\r\n              [value]=\"form[field.formKey]\"\r\n              [dataSource]=\"getOptions(field)\"\r\n              [fields]=\"getOptionFields(field)\"\r\n              [enabled]=\"!getDisabled(field)\"\r\n              [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n              (filtering)=\"onFiltering($event, field)\"\r\n              (change)=\"onComponentChange($event, field)\"\r\n              (focus)=\"onFocus(field)\"\r\n              (blur)=\"onBlur(field)\"\r\n            ></ejs-autocomplete>\r\n            <!-- Dropdown -->\r\n            <ejs-dropdownlist\r\n              #dropdown\r\n              *ngIf=\"field.fieldFormType === 'Dropdown'\"\r\n              [value]=\"form[field.formKey]\"\r\n              [dataSource]=\"getOptions(field)\"\r\n              [fields]=\"getOptionFields(field)\"\r\n              [allowFiltering]=\"true\"\r\n              [showClearButton]=\"true\"\r\n              [enabled]=\"!getDisabled(field)\"\r\n              [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n              (filtering)=\"onFiltering($event, field)\"\r\n              (dataBound)=\"onDropdownDataBound($event, field)\"\r\n              (change)=\"onComponentChange($event, field)\"\r\n              (focus)=\"onFocus(field)\"\r\n              (blur)=\"onBlur(field)\"\r\n            ></ejs-dropdownlist>\r\n            <!-- MultiSelect -->\r\n            <ejs-multiselect\r\n              *ngIf=\"field.fieldFormType === 'MultiSelect'\"\r\n              mode=\"CheckBox\"\r\n              [ngModel]=\"form[field.formKey]\"\r\n              [dataSource]=\"getOptions(field)\"\r\n              [fields]=\"getOptionFields(field)\"\r\n              [allowFiltering]=\"true\"\r\n              [showDropDownIcon]=\"true\"\r\n              [enabled]=\"!getDisabled(field)\"\r\n              [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n              (filtering)=\"onFiltering($event, field)\"\r\n              (change)=\"onComponentChange($event, field)\"\r\n              (focus)=\"onFocus(field)\"\r\n              (blur)=\"onBlur(field)\"\r\n            >\r\n            </ejs-multiselect>\r\n            <!-- Datepicker -->\r\n            <ejs-datepicker\r\n              *ngIf=\"field.fieldFormType === 'Datepicker'\"\r\n              [(value)]=\"dateForm[field.formKey]\"\r\n              [format]=\"field.format || dateFormat\"\r\n              [enabled]=\"!getDisabled(field)\"\r\n              [class.error]=\"\r\n                fieldValidMap[field.formKey] === false ||\r\n                dateValidMap[field.formKey] === false\r\n              \"\r\n              (change)=\"onComponentChange($event, field)\"\r\n              (focus)=\"onFocus(field)\"\r\n              (blur)=\"onDatePickerBlur($event, field)\"\r\n            ></ejs-datepicker>\r\n            <ng-template\r\n              #customTemplateContainer\r\n              *ngIf=\"field.fieldFormType === 'Custom'\"\r\n            ></ng-template>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"section-form\" *ngIf=\"section.customKey\">\r\n        <ng-template #customSectionContainer></ng-template>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div *ngIf=\"sections.length > 1 && showAnchor\" class=\"anchor-container\">\r\n    <div\r\n      class=\"anchor-item\"\r\n      *ngFor=\"let section of sections; let index = index\"\r\n      [style.display]=\"section.title ? 'block' : 'none'\"\r\n      [attr.data-active]=\"scrollIndex === index ? 'yes' : 'no'\"\r\n      [attr.data-content]=\"section.title\"\r\n      (click)=\"onClickAnchor(index)\"\r\n    ></div>\r\n  </div>\r\n</div>\r\n","import { ItemModel } from \"@syncfusion/ej2-angular-splitbuttons\";\r\n\r\n// font family\r\n\r\nexport const fontFamily: Object = {\r\n  default: \"Arial\",\r\n  items: [\r\n    {\r\n      text: \"Arial\",\r\n      value: \"Arial, Helvetica, sans-serif\",\r\n      cssClass: \"e-arial\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    {\r\n      text: \"Times New Roman\",\r\n      value: \"Times New Roman,Times,serif\",\r\n      cssClass: \"e-times-new-roman\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    {\r\n      text: \"Helvetica\",\r\n      value: \"Helvetica\",\r\n      cssClass: \"e-helvetica\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    {\r\n      text: \"Calibri\",\r\n      value: \"Calibri, Helvetica, sans-serif\",\r\n      cssClass: \"e-calibri\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    {\r\n      text: \"Verdana\",\r\n      value: \"Verdana,Geneva,sans-serif\",\r\n      cssClass: \"e-verdana\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    {\r\n      text: \"Georgia\",\r\n      value: \"Georgia,serif\",\r\n      cssClass: \"e-georgia\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    {\r\n      text: \"Open Sans\",\r\n      value: \"Open Sans, sans-serif\",\r\n      cssClass: \"e-open-sans\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    {\r\n      text: \"Roboto\",\r\n      value: \"Roboto\",\r\n      cssClass: \"e-roboto\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    {\r\n      text: \"Lato\",\r\n      value: \"Lato, sans-serif\",\r\n      cssClass: \"e-lato\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    {\r\n      text: \"Montserrat\",\r\n      value: \"Montserrat, sans-serif\",\r\n      cssClass: \"e-montserrat\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    {\r\n      text: \"Segoe UI\",\r\n      value: \"Segoe UI\",\r\n      cssClass: \"e-segoe-ui\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    {\r\n      text: \"Impact\",\r\n      value: \"Impact,Charcoal,sans-serif\",\r\n      cssClass: \"e-impact\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    {\r\n      text: \"Microsoft YaHei\",\r\n      value: \"Microsoft YaHei, SimHei, sans-serif\",\r\n      cssClass: \"e-yahei\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    // New fonts\r\n    {\r\n      text: \"Tiempos Headline - Semibold\",\r\n      value: \"Tiempos Headline Semibold\",\r\n      cssClass: \"e-tiempos-headline\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    // Avenir LT Pro 系列\r\n    // {\r\n    //   text: \"Avenir LT Pro - Black\",\r\n    //   value: \"Avenir LT Pro 65 Medium\",\r\n    //   cssClass: \"e-avenir-lt-pro-black\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir LT Pro - Black Oblique\",\r\n    //   value: \"Avenir LT Pro-Black Oblique\",\r\n    //   cssClass: \"e-avenir-lt-pro-black-oblique\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir LT Pro - Heavy\",\r\n    //   value: \"Avenir LT Pro 55 Roman\",\r\n    //   cssClass: \"e-avenir-lt-pro-heavy\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir LT Pro - Heavy Oblique\",\r\n    //   value: \"Avenir LT Pro-Heavy Oblique\",\r\n    //   cssClass: \"e-avenir-lt-pro-heavy-oblique\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir LT Pro - Light\",\r\n    //   value: \"Avenir LT Pro 35 Light\",\r\n    //   cssClass: \"e-avenir-lt-pro-light\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir LT Pro - Light Oblique\",\r\n    //   value: \"Avenir LT Pro-Light Oblique\",\r\n    //   cssClass: \"e-avenir-lt-pro-light-oblique\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir LT Pro - Medium\",\r\n    //   value: \"Avenir LT Pro-Medium\",\r\n    //   cssClass: \"e-avenir-lt-pro-medium\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir LT Pro - Medium Oblique\",\r\n    //   value: \"Avenir LT Pro-Medium Oblique\",\r\n    //   cssClass: \"e-avenir-lt-pro-medium-oblique\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // Avenir Next LT Pro 系列\r\n    // {\r\n    //   text: \"Avenir Next LT Pro - Bold\",\r\n    //   value: \"AvenirNext LT Pro Bold\",\r\n    //   cssClass: \"e-avenir-next-lt-pro-bold\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir Next LT Pro - Demi\",\r\n    //   value: \"AvenirNext LT Pro Regular\",\r\n    //   cssClass: \"e-avenir-next-lt-pro-demi\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir Next LT Pro - Demilt\",\r\n    //   value: \"Avenir Next LT Pro-Demilt\",\r\n    //   cssClass: \"e-avenir-next-lt-pro-demilt\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir Next LT Pro - Heavy\",\r\n    //   value: \"AvenirNext LT Pro Heavy\",\r\n    //   cssClass: \"e-avenir-next-lt-pro-heavy\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir Next LT Pro - Heavylt\",\r\n    //   value: \"AvenirNext LT Pro Heavylt\",\r\n    //   cssClass: \"e-avenir-next-lt-pro-heavylt\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir Next LT Pro - It\",\r\n    //   value: \"Avenir Next LT Pro-It\",\r\n    //   cssClass: \"e-avenir-next-lt-pro-it\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir Next LT Pro - Light\",\r\n    //   value: \"Avenir Next LT Pro Light\",\r\n    //   cssClass: \"e-avenir-next-lt-pro-light\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir Next LT Pro - Mediumlt\",\r\n    //   value: \"AvenirNext LT Pro Medium\",\r\n    //   cssClass: \"e-avenir-next-lt-pro-mediumlt\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir Next LT Pro - Regular\",\r\n    //   value: \"Avenir Next LT Pro-Regular\",\r\n    //   cssClass: \"e-avenir-next-lt-pro-regular\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir Next LT Pro - UltLt\",\r\n    //   value: \"AvenirNext LT Pro UltLight\",\r\n    //   cssClass: \"e-avenir-next-lt-pro-ultlt\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Avenir Next LT Pro - UltLtlt\",\r\n    //   value: \"AvenirNext LT Pro UltLightlt\",\r\n    //   cssClass: \"e-avenir-next-lt-pro-ultltlt\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // Source Han Sans CN 系列\r\n    // {\r\n    //   text: \"思源黑体 - ExtraLight\",\r\n    //   value: \"思源黑体 CN ExtraLight\",\r\n    //   cssClass: \"e-source-han-sans-cn-extralight\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    {\r\n      text: \"思源黑体 - Regular\",\r\n      value: \"Source Han Sans CN\",\r\n      cssClass: \"e-source-han-sans-cn-regular\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    // {\r\n    //   text: \"思源黑体 - Medium\",\r\n    //   value: \"思源黑体 CN Medium\",\r\n    //   cssClass: \"e-source-han-sans-cn-medium\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"思源黑体 - Bold\",\r\n    //   value: \"思源黑体 CN\",\r\n    //   cssClass: \"e-source-han-sans-cn-bold\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // Source Han Serif CN 系列\r\n    // {\r\n    //   text: \"思源宋体 - ExtraLight\",\r\n    //   value: \"思源黑体 ExtraLight\",\r\n    //   cssClass: \"e-source-han-serif-cn-extralight\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    {\r\n      text: \"思源宋体 - Regular\",\r\n      value: \"Source Han Serif SC\",\r\n      cssClass: \"e-source-han-serif-cn-regular\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    // {\r\n    //   text: \"思源宋体 - Medium\",\r\n    //   value: \"思源宋体 Medium\",\r\n    //   cssClass: \"e-source-han-serif-cn-medium\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"思源宋体 - Bold\",\r\n    //   value: \"思源宋体\",\r\n    //   cssClass: \"e-source-han-serif-cn-bold\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // Ping Fang SC 系列\r\n    {\r\n      text: \"Ping Fang SC - Light\",\r\n      value: \"苹方-简\",\r\n      cssClass: \"e-ping-fang-sc-light\",\r\n      command: \"Font\",\r\n      subCommand: \"FontName\",\r\n    },\r\n    // {\r\n    //   text: \"Ping Fang SC - Medium\",\r\n    //   value: \"Ping Fang SC-Medium\",\r\n    //   cssClass: \"e-ping-fang-sc-medium\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Ping Fang SC - Regular\",\r\n    //   value: \"Ping Fang SC-Regular\",\r\n    //   cssClass: \"e-ping-fang-sc-regular\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n    // {\r\n    //   text: \"Ping Fang SC - Semibold\",\r\n    //   value: \"Ping Fang SC-Semibold\",\r\n    //   cssClass: \"e-ping-fang-sc-semibold\",\r\n    //   command: \"Font\",\r\n    //   subCommand: \"FontName\",\r\n    // },\r\n  ],\r\n};\r\n\r\nexport const size = {\r\n  default: \"11pt\",\r\n  width: \"40px\",\r\n  items: [\r\n    { text: \"8 pt\", value: \"8pt\" },\r\n    { text: \"9 pt\", value: \"9pt\" },\r\n    { text: \"10 pt\", value: \"10pt\" },\r\n    { text: \"11 pt\", value: \"11pt\" },\r\n    { text: \"12 pt\", value: \"12pt\" },\r\n    { text: \"14 pt\", value: \"14pt\" },\r\n    { text: \"18 pt\", value: \"18pt\" },\r\n    { text: \"24 pt\", value: \"24pt\" },\r\n    { text: \"36 pt\", value: \"36pt\" },\r\n  ],\r\n};\r\n\r\n// line height配置\r\nexport const lineHeight_items: ItemModel[] = [\r\n  {\r\n    text: \"1.0\",\r\n  },\r\n  {\r\n    text: \"1.15\",\r\n  },\r\n  {\r\n    text: \"1.5\",\r\n  },\r\n  {\r\n    text: \"2.0\",\r\n  },\r\n  {\r\n    text: \"2.5\",\r\n  },\r\n  {\r\n    text: \"3.0\",\r\n  },\r\n];\r\n\r\n// 无序列表符号配置\r\nexport interface BulletStyle {\r\n  id: string;\r\n  text: string;\r\n  symbol: string;\r\n  iconCss: string;\r\n  description: string;\r\n}\r\n\r\nexport const BULLET_STYLES: BulletStyle[] = [\r\n  {\r\n    id: \"disc\",\r\n    text: \"● 实心圆点\",\r\n    symbol: \"●\",\r\n    iconCss: \"e-icons e-bullet-disc\",\r\n    description: \"标准实心圆点\",\r\n  },\r\n  {\r\n    id: \"circle\",\r\n    text: \"○ 空心圆点\",\r\n    symbol: \"○\",\r\n    iconCss: \"e-icons e-bullet-circle\",\r\n    description: \"空心圆点\",\r\n  },\r\n  {\r\n    id: \"square\",\r\n    text: \"■ 实心方块\",\r\n    symbol: \"■\",\r\n    iconCss: \"e-icons e-bullet-square\",\r\n    description: \"实心方块\",\r\n  },\r\n  {\r\n    id: \"diamond\",\r\n    text: \"◆ 实心菱形\",\r\n    symbol: \"◆\",\r\n    iconCss: \"e-icons e-bullet-diamond\",\r\n    description: \"实心菱形\",\r\n  },\r\n  {\r\n    id: \"triangle\",\r\n    text: \"► 实心三角\",\r\n    symbol: \"►\",\r\n    iconCss: \"e-icons e-bullet-triangle\",\r\n    description: \"实心三角形\",\r\n  },\r\n  {\r\n    id: \"arrow\",\r\n    text: \"➤ 箭头\",\r\n    symbol: \"➤\",\r\n    iconCss: \"e-icons e-bullet-arrow\",\r\n    description: \"箭头符号\",\r\n  },\r\n  {\r\n    id: \"star\",\r\n    text: \"★ 星形\",\r\n    symbol: \"★\",\r\n    iconCss: \"e-icons e-bullet-star\",\r\n    description: \"星形符号\",\r\n  },\r\n  {\r\n    id: \"check\",\r\n    text: \"✓ 对勾\",\r\n    symbol: \"✓\",\r\n    iconCss: \"e-icons e-bullet-check\",\r\n    description: \"对勾符号\",\r\n  },\r\n  {\r\n    id: \"heart\",\r\n    text: \"♥ 心形\",\r\n    symbol: \"♥\",\r\n    iconCss: \"e-icons e-bullet-heart\",\r\n    description: \"心形符号\",\r\n  },\r\n  {\r\n    id: \"bullet\",\r\n    text: \"• 小圆点\",\r\n    symbol: \"•\",\r\n    iconCss: \"e-icons e-bullet-bullet\",\r\n    description: \"小圆点\",\r\n  },\r\n];\r\n\r\n// 获取符号样式\r\nexport function getBulletStyle(id: string): BulletStyle | undefined {\r\n  return BULLET_STYLES.find((style) => style.id === id);\r\n}\r\n\r\n// 获取所有符号样式\r\nexport function getAllBulletStyles(): BulletStyle[] {\r\n  return BULLET_STYLES;\r\n}\r\n\r\n// 应用符号样式到列表\r\nexport function applyBulletStyle(ul: HTMLElement, style: BulletStyle): void {\r\n  if (style.id === \"disc\" || style.id === \"circle\" || style.id === \"square\") {\r\n    // 使用CSS list-style-type\r\n    ul.style.listStyleType = style.id;\r\n    // 移除自定义符号\r\n    ul.querySelectorAll(\".custom-bullet\").forEach((bullet) => bullet.remove());\r\n  } else {\r\n    // 使用自定义符号\r\n    ul.style.listStyleType = \"none\";\r\n    ul.setAttribute(\"data-bullet-style\", style.id);\r\n\r\n    const listItems = ul.querySelectorAll(\"li\");\r\n    listItems.forEach((li) => {\r\n      // 移除现有的自定义符号\r\n      const existingBullet = li.querySelector(\".custom-bullet\");\r\n      if (existingBullet) {\r\n        existingBullet.remove();\r\n      }\r\n\r\n      // 添加新的自定义符号\r\n      const bullet = document.createElement(\"span\");\r\n      bullet.className = \"custom-bullet\";\r\n      bullet.textContent = style.symbol;\r\n      bullet.style.marginRight = \"8px\";\r\n      bullet.style.color = \"#666\";\r\n\r\n      // 将符号插入到列表项的开头\r\n      li.insertBefore(bullet, li.firstChild);\r\n    });\r\n  }\r\n}\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  Input,\r\n  Output,\r\n  ViewChild,\r\n  ChangeDetectorRef,\r\n  EventEmitter,\r\n} from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { DropDownListComponent } from \"@syncfusion/ej2-angular-dropdowns\";\r\nimport {\r\n  RichTextEditorComponent,\r\n  ToolbarSettingsModel,\r\n} from \"@syncfusion/ej2-angular-richtexteditor\";\r\nimport { ButtonComponent } from \"@syncfusion/ej2-angular-buttons\";\r\nimport { DropDownButton } from \"@syncfusion/ej2-angular-splitbuttons\";\r\nimport { DialogComponent } from \"@syncfusion/ej2-angular-popups\";\r\n// service\r\n// import { PbFunService } from \"@app/services/pb-fun.service\";\r\n// import { SharedSyncfusionModule } from \"@app/module/syncfusionModule\";\r\nimport { OpenAiModelRTE } from \"./openapi\";\r\nimport { lineHeight_items } from \"./data-config\";\r\nimport { fontFamily, size } from \"./data-config\";\r\nimport { getAIConfig, isAIConfigValid, AIConfig } from \"./ai-config\";\r\nimport { DialogService } from \"../../service/dialog.service\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\n\r\n@Component({\r\n  selector: \"rs-richtext-editor\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n  // standalone: true,\r\n  // imports: [CommonModule, SharedSyncfusionModule],\r\n})\r\nexport class RichtexteditorComponent implements OnInit {\r\n  @ViewChild(\"editor\", { static: false })\r\n  public rteObj: RichTextEditorComponent;\r\n  @ViewChild(\"queryCategory\", { static: false })\r\n  public queryCategory!: DropDownListComponent;\r\n  @ViewChild(\"leftRte\", { static: false })\r\n  public leftRte!: RichTextEditorComponent;\r\n  @ViewChild(\"rightRte\", { static: false })\r\n  public rightRte!: RichTextEditorComponent;\r\n  @ViewChild(\"AIdialog\", { static: true }) public AIdialog!: DialogComponent;\r\n  @ViewChild(\"sentimentButton\", { static: false })\r\n  public sentimentButton!: ButtonComponent;\r\n  @ViewChild(\"regenerateButton\", { static: false })\r\n  public regenerateButton!: ButtonComponent;\r\n  @ViewChild(\"copyButton\", { static: false })\r\n  public copyButton!: ButtonComponent;\r\n  @ViewChild(\"replaceButton\", { static: false })\r\n  public replaceButton!: ButtonComponent;\r\n  // @ViewChild(\"chipList\", { static: false }) public chipList!: ChipListComponent;\r\n\r\n  @Input() placeholder = \"\";\r\n  @Input() value = \"\";\r\n  @Input() editorId = \"editorId\";\r\n  @Input() saveInterval = 500;\r\n  @Input() height = \"auto\";\r\n  @Input() autoSaveOnIdle = true;\r\n  @Input() disabled = false;\r\n  @Input() target = \"#mainPage\"; // dialog 弹窗父级\r\n  @Input() insertImageSettings = {\r\n    saveFormat: \"Blob\",\r\n    allowedTypes: [\".svg\", \".png\"],\r\n    display: \"none\",\r\n  };\r\n  @Input() showTicketAttachment = false;\r\n\r\n  @Output() toolbarClick = new EventEmitter();\r\n  @Output() change = new EventEmitter();\r\n  @Output() created = new EventEmitter();\r\n  @Output() actionBegin = new EventEmitter();\r\n  @Output() input = new EventEmitter();\r\n  @Output() focus = new EventEmitter();\r\n  @Output() blur = new EventEmitter();\r\n  @Output() actionComplete = new EventEmitter();\r\n  // @Output() afterPasteCleanup = new EventEmitter();\r\n\r\n  family = fontFamily;\r\n  fontSize = size;\r\n  dialogWidth = \"800px\";\r\n  dialogHeight = \"642px\";\r\n  showZoomBtn = true;\r\n  editorManager: any;\r\n  size = \"\";\r\n  selectedQuery;\r\n  public dropValIndex = 0;\r\n  public queryList: { id: string; text: string }[] = [];\r\n  public rephraseTyleList = [];\r\n  public languageList: { id: string; text: string }[] = [];\r\n  public promptQuery = \"\";\r\n  public isSentimentCheck: boolean = false;\r\n  public subQuery = \"\";\r\n  public translatelanguage!: string;\r\n  public chipValue = \"Standard\";\r\n  public apiResultData: any;\r\n  public AIResult!: string;\r\n  tools: ToolbarSettingsModel;\r\n  public isDialogVisible: boolean = false;\r\n  public bulletFormatList = {\r\n    types: [\r\n      { text: \"None\", value: \"none\" },\r\n      { text: \"●\", value: \"disc\" },\r\n      { text: \"○\", value: \"circle\" },\r\n      { text: \"■\", value: \"square\" },\r\n      // Add your custom bullet style here\r\n      { text: \"-\", value: \"dash\" },\r\n    ],\r\n  };\r\n  public numberFormatList = {\r\n    types: [\r\n      { text: \"None\", value: \"none\" },\r\n      { text: \"1, 2, 3, …\", value: \"decimal\" },\r\n      {\r\n        text: \"α, β, γ, …\",\r\n        value: \"lowerGreek\",\r\n      },\r\n      {\r\n        text: \"i, ii, iii, …\",\r\n        value: \"lowerRoman\",\r\n      },\r\n      {\r\n        text: \"A, B, C, …\",\r\n        value: \"upperAlpha\",\r\n      },\r\n      {\r\n        text: \"a, b, c, …\",\r\n        value: \"lowerAlpha\",\r\n      },\r\n      {\r\n        text: \"I, II, III, …\",\r\n        value: \"upperRoman\",\r\n      },\r\n      // Add your custom bullet style here\r\n      {\r\n        text: \"(1), (2), (3), …\",\r\n        value: \"parentheses\",\r\n      },\r\n    ],\r\n  };\r\n  translation: any;\r\n  zoomout = true;\r\n  constructor(\r\n    private ref: ChangeDetectorRef,\r\n    private http: HttpClient,\r\n    private dialog: DialogService,\r\n    private snackBar: MatSnackBar\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\")) || {};\r\n    this.queryList = [\r\n      { id: \"Rephrase\", text: this.translation.REPHRASE || \".Rephrase\" },\r\n      {\r\n        id: \"Grammar\",\r\n        text: this.translation.CORRECT_GRAMMAR || \".Correct Grammar\",\r\n      },\r\n      { id: \"Summarize\", text: this.translation.SUMMARIZE || \".Summarize\" },\r\n      { id: \"Elaborate\", text: this.translation.ELABORATE || \".Elaborate\" },\r\n      { id: \"Translate\", text: this.translation.TRANSLATE || \".Translate\" },\r\n      {\r\n        id: \"SentimentAnalysis\",\r\n        text: this.translation.SENTIMENT_ANALYSIS || \".Sentiment Analysis\",\r\n      },\r\n    ];\r\n    this.rephraseTyleList = [\r\n      { id: \"Standard\", text: this.translation.STANDARD || \".Standard\" },\r\n      { id: \"Fluent\", text: this.translation.FLUENT || \".Fluent\" },\r\n      {\r\n        id: \"Professional\",\r\n        text: this.translation.PROFESSIONAL || \".Professional\",\r\n      },\r\n    ];\r\n    this.languageList = [\r\n      { id: \"EN\", text: this.translation.ENGLISH || \".English\" },\r\n      {\r\n        id: \"ZH\",\r\n        text: this.translation.CHINESE_SIMPLIFIED || \".Chinese (Simplified)\",\r\n      },\r\n      { id: \"ES\", text: this.translation.SPANISH || \".Spanish\" },\r\n      {\r\n        id: \"ZHT\",\r\n        text: this.translation.CHINESE_TRADITIONAL || \".Chinese (Traditional)\",\r\n      },\r\n      { id: \"HI\", text: this.translation.HINDI || \".Hindi\" },\r\n      { id: \"AR\", text: this.translation.ARABIC || \".Arabic\" },\r\n      { id: \"BN\", text: this.translation.BENGALI || \".Bengali\" },\r\n      { id: \"PT\", text: this.translation.PORTUGUESE || \".Portuguese\" },\r\n      { id: \"RU\", text: this.translation.RUSSIAN || \".Russian\" },\r\n      { id: \"JA\", text: this.translation.JAPANESE || \".Japanese\" },\r\n      { id: \"DE\", text: this.translation.GERMAN || \".German\" },\r\n      { id: \"KO\", text: this.translation.KOREAN || \".Korean\" },\r\n      { id: \"FR\", text: this.translation.FRENCH || \".French\" },\r\n      { id: \"IT\", text: this.translation.ITALIAN || \".Italian\" },\r\n      { id: \"TR\", text: this.translation.TURKISH || \".Turkish\" },\r\n    ];\r\n    const dynamicAiButtonId = `ai_assistant_button_tbar_${this.editorId}`;\r\n    this.tools = {\r\n      enableFloating: false,\r\n      items: [\r\n        // {\r\n        //   tooltipText: this.translation.AI_ASSIST || \".AI Assist\",\r\n        //   template: `<button class=\"e-tbar-btn e-btn\" tabindex=\"-1\" id=\"${dynamicAiButtonId}\" style=\"width:100%\">\r\n        //              <div class=\"e-rte-dropdown-btn-text\">${\r\n        //                this.translation.AI_ASSIST || \".AI Assist\"\r\n        //              }</div>\r\n        //            </button>`,\r\n        // },\r\n        \"Bold\",\r\n        \"Italic\",\r\n        \"Underline\",\r\n        \"StrikeThrough\",\r\n        \"FontName\",\r\n        \"FontSize\",\r\n        \"FontColor\",\r\n        \"BackgroundColor\",\r\n        \"LowerCase\",\r\n        \"UpperCase\",\r\n        \"|\",\r\n        \"CreateTable\",\r\n        \"Formats\",\r\n        \"Alignments\",\r\n        \"bulletFormatList\",\r\n        \"NumberFormatList\",\r\n        \"Outdent\",\r\n        \"Indent\",\r\n        \"|\",\r\n        \"CreateLink\",\r\n        \"|\",\r\n        \"FormatPainter\",\r\n        \"ClearFormat\",\r\n        \"|\",\r\n        \"Undo\",\r\n        \"Redo\",\r\n        //'SourceCode',\r\n      ],\r\n    };\r\n    if (this.showTicketAttachment) {\r\n      const item = {\r\n        tooltipText: \"\",\r\n        template:\r\n          '<button class=\"e-tbar-btn e-btn\" tabindex=\"-1\" id=\"custom_tbar\"  style=\"width:100%\">' +\r\n          '<div class=\"e-tbar-btn-text\" style=\"font-weight: 500;\"><img src=\"/assets/img/file-icon.svg\" style=\"position: relative;\"/><div class=\"uploadActions\"><div id=\"uploadFromUser\">Computer File</div><div id=\"relationDom\">Ticket Attachment</div></div></div></button>',\r\n      };\r\n      this.tools.items.splice(22, 0, item);\r\n    }\r\n  }\r\n\r\n  onContentChange(args) {\r\n    this.change.emit(args);\r\n  }\r\n\r\n  public onCreate(): void {\r\n    // ai assist\r\n    let aiassistantButton = new DropDownButton({\r\n      items: this.queryList,\r\n      select: (args) => this.aiQuerySelectedMenu(args),\r\n    });\r\n    aiassistantButton.appendTo(\"#ai_assistant_button_tbar_\" + this.editorId);\r\n    this.created.emit();\r\n  }\r\n\r\n  private onSelect(args) {\r\n    if (this.rteObj.formatter.getUndoRedoStack().length === 0) {\r\n      this.rteObj.formatter.saveData();\r\n    }\r\n    let nodes: Node[] = this.editorManager.domNode.blockNodes();\r\n    for (let i: number = 0; nodes.length > i; i++) {\r\n      (nodes[i] as HTMLElement).style.lineHeight = args.item.text;\r\n    }\r\n    this.rteObj.formatter.saveData();\r\n    this.rteObj.formatter.enableUndo(this.rteObj);\r\n  }\r\n\r\n  private aiQuerySelectedMenu(args: any): void {\r\n    this.dialogueOpen(args.item.id);\r\n  }\r\n\r\n  dialogueOpen(selectedQuery: string): void {\r\n    var selectionText = this.rteObj.getSelectedHtml();\r\n    this.selectedQuery = selectedQuery;\r\n    if (selectionText) {\r\n      let range: Range = (\r\n        this.rteObj as any\r\n      ).formatter.editorManager.nodeSelection.getRange(\r\n        (this.rteObj as any).contentModule.getDocument()\r\n      );\r\n      (this.rteObj as any).formatter.editorManager.nodeSelection.save(\r\n        range,\r\n        (this.rteObj as any).contentModule.getDocument()\r\n      );\r\n      this.dropValIndex = this.queryList.findIndex(\r\n        (q) => q.id.toLowerCase() === selectedQuery.toLowerCase()\r\n      );\r\n      this.queryCategory.index = this.dropValIndex;\r\n      this.leftRte.value = this.promptQuery = selectionText;\r\n      this.leftRte.refreshUI();\r\n      this.AIdialog.show();\r\n      this.updateAISugesstionsData(selectedQuery);\r\n    } else {\r\n      this.dialog.showNotification(\r\n        this.translation.FIRST_SELECT_SOME_TEXT || \"First, Select some text\",\r\n        {\r\n          status: \"Warning\",\r\n        }\r\n      );\r\n    }\r\n  }\r\n\r\n  updateAISugesstionsData(selectedQuery: string): void {\r\n    this.isSentimentCheck = false;\r\n    switch (selectedQuery) {\r\n      case \"Summarize\":\r\n        this.subQuery =\r\n          \"Please summarize the following text. Preserve all HTML tags exactly as they are:\";\r\n        break;\r\n      case \"Elaborate\":\r\n        this.subQuery =\r\n          \"Please elaborate and expand on the following text with more details. Preserve all HTML tags exactly as they are:\";\r\n        break;\r\n      case \"Rephrase\":\r\n        this.subQuery =\r\n          this.chipValue +\r\n          \" Please rephrase the following text while maintaining the same meaning. Preserve all HTML tags exactly as they are:\";\r\n        break;\r\n      case \"Grammar\":\r\n        this.subQuery =\r\n          \"Please correct any grammar errors in the following text. Preserve all HTML tags exactly as they are:\";\r\n        break;\r\n      case \"Translate\":\r\n        this.subQuery = `Please translate the following text to ${this.translatelanguage}. Preserve all HTML tags exactly as they are:`;\r\n        break;\r\n      case \"SentimentAnalysis\":\r\n        this.isSentimentCheck = true;\r\n        this.subQuery =\r\n          \"Please analyze the sentiment of the following text. Preserve all HTML tags in the text when referencing it:\";\r\n        break;\r\n    }\r\n    this.updateAISugesstions();\r\n  }\r\n\r\n  updateAISugesstions(): void {\r\n    try {\r\n      if (this.promptQuery) {\r\n        (document.getElementById(\"skeletonId\") as HTMLElement).style.display =\r\n          \"\";\r\n        (document.getElementById(\"rightRte\") as HTMLElement).style.display =\r\n          \"none\";\r\n        this.sentimentButton.element.style.display = \"none\";\r\n        this.regenerateButton.disabled = true;\r\n        this.copyButton.disabled = true;\r\n        this.replaceButton.disabled = true;\r\n        if (this.isDialogVisible) {\r\n          this.promptQuery = this.leftRte.getHtml();\r\n        }\r\n        this.apiResultData = this.getResponseFromOpenAI(\r\n          this.subQuery,\r\n          this.promptQuery\r\n        );\r\n        this.apiResultData.then((result: any) => {\r\n          this.isDialogVisible = true;\r\n          this.AIResult = this.isSentimentCheck ? this.promptQuery : result;\r\n          this.sentimentButton.content = result\r\n            .toLowerCase()\r\n            .includes(\"positive\")\r\n            ? \"😊 Positive\"\r\n            : result.toLowerCase().includes(\"negative\")\r\n            ? \"😞 Negative\"\r\n            : \"😐 Neutral\";\r\n          this.sentimentButton.element.style.display = !this.isSentimentCheck\r\n            ? \"none\"\r\n            : \"\";\r\n          //this.rightRte.value = this.AIResult;\r\n          var noResultsFound = !(this.AIResult || this.promptQuery);\r\n          (\r\n            document.getElementById(\"no-results-found\") as HTMLElement\r\n          ).style.display = noResultsFound ? \"\" : \"none\";\r\n          this.regenerateButton.disabled = noResultsFound;\r\n          this.copyButton.disabled = noResultsFound;\r\n          this.replaceButton.disabled = noResultsFound;\r\n          this.ref.markForCheck();\r\n        });\r\n      }\r\n    } catch {}\r\n  }\r\n\r\n  currentResponse = \"\";\r\n  abortController: AbortController | null = null;\r\n  async getResponseFromOpenAI(\r\n    subQuery: string,\r\n    promptQuery: string\r\n  ): Promise<string> {\r\n    this.zoomout = true;\r\n    if (this.abortController) {\r\n      this.abortController.abort();\r\n      this.abortController = null;\r\n    }\r\n    this.abortController = new AbortController();\r\n    const messages = [\r\n      {\r\n        role: \"system\",\r\n        content: subQuery.includes(\r\n          \"emoji followed by the sentiment in the format\"\r\n        )\r\n          ? \"You are a helpful assistant. Please respond in string format.\"\r\n          : \"NOTE: Return same html format just do changes content only. don't change html formats.\",\r\n      },\r\n      {\r\n        role: \"user\",\r\n        content: `${subQuery}\\n\\n${promptQuery}`,\r\n      },\r\n    ];\r\n\r\n    const param = {\r\n      messages: messages,\r\n      max_tokens: 16000,\r\n      temperature: 0.7,\r\n      top_p: 1,\r\n      frequency_penalty: 0,\r\n      presence_penalty: 0,\r\n    };\r\n\r\n    try {\r\n      const response = await fetch(\"api/ai/v2/chat/chat-stream\", {\r\n        method: \"POST\",\r\n        headers: { \"Content-Type\": \"application/json\" },\r\n        body: JSON.stringify(param),\r\n        signal: this.abortController.signal,\r\n      });\r\n      if (!response.ok) {\r\n        throw new Error(`HTTP error! status: ${response.status}`);\r\n      }\r\n      (document.getElementById(\"skeletonId\") as HTMLElement).style.display =\r\n        \"none\";\r\n      (document.getElementById(\"rightRte\") as HTMLElement).style.display = \"\";\r\n      this.ref.detectChanges();\r\n      this.currentResponse = \"\";\r\n      this.updateResponse(\"\");\r\n      this.rightRte.value = \"\";\r\n      const reader = response.body.getReader();\r\n      const decoder = new TextDecoder();\r\n      while (true) {\r\n        const { done, value } = await reader.read();\r\n        if (done) break;\r\n        const chunk = decoder.decode(value, { stream: true });\r\n        const cleanedChunk = chunk.replace(/chunk:/g, \"\");\r\n        this.currentResponse += cleanedChunk;\r\n        this.updateResponse(this.currentResponse);\r\n      }\r\n      return this.currentResponse;\r\n    } catch (error) {\r\n      if (error.name === \"AbortError\") {\r\n        console.log(\"The AI request was actively canceled by the user\");\r\n        return this.currentResponse;\r\n      }\r\n      console.error(\"Stream error:\", error);\r\n      throw error;\r\n    }\r\n  }\r\n\r\n  dialogShow(): void {\r\n    // this.regenerateButton!.element.addEventListener(\"click\", () => {\r\n    //   this.updateAISugesstions();\r\n    // });\r\n    // this.copyButton!.element.addEventListener(\"click\", () => {\r\n    //   this.copyTextToClipboard(this.AIResult);\r\n    // });\r\n    // this.replaceButton!.element.addEventListener(\"click\", () => {\r\n    //   let range: Range = (\r\n    //     this.rteObj as any\r\n    //   ).formatter.editorManager.nodeSelection.getRange(\r\n    //     (this.rteObj as any).contentModule.getDocument()\r\n    //   );\r\n    //   (this.rteObj as any).formatter.editorManager.nodeSelection.restore(range);\r\n    //   (this.rteObj as any).executeCommand(\"insertHTML\", this.AIResult, {\r\n    //     undo: true,\r\n    //   });\r\n    //   this.closeDialog();\r\n    // });\r\n    (this.AIdialog as DialogComponent).element.style.display = \"\";\r\n  }\r\n\r\n  closeDialog(): void {\r\n    if (this.abortController) {\r\n      this.abortController.abort();\r\n      this.abortController = null;\r\n    }\r\n    this.AIdialog.hide();\r\n    this.rightRte.value = \"\";\r\n    this.leftRte.value = \"\";\r\n    this.promptQuery = \"\";\r\n    this.chipValue = \"Standard\";\r\n    this.AIResult = \"\";\r\n    this.dropValIndex = 0;\r\n    this.selectedQuery = \"Rephrase\";\r\n    this.sentimentButton.content = \"😊 Neutral\";\r\n    this.size = \"\";\r\n    this.isDialogVisible = false;\r\n  }\r\n\r\n  copyTextToClipboard(text: string): void {\r\n    if (!this.rightRte) {\r\n      return;\r\n    }\r\n    this.rightRte.selectAll();\r\n    const selection = window.getSelection();\r\n    if (!selection || selection.rangeCount === 0) {\r\n      console.error(\"No selected content\");\r\n      return;\r\n    }\r\n    try {\r\n      const range = selection.getRangeAt(0);\r\n      selection.removeAllRanges();\r\n      selection.addRange(range);\r\n      const success = document.execCommand(\"copy\");\r\n      if (success) {\r\n        console.log(\"Text copied to clipboard successfully!\");\r\n      } else {\r\n        console.error(\"Failed to copy text\");\r\n      }\r\n    } catch (err) {\r\n      console.error(\"Failed to copy text: \", err);\r\n    }\r\n  }\r\n\r\n  onOverlayClick(): void {\r\n    let activeEle: HTMLElement | null = this.AIdialog.element.querySelector(\r\n      \".char_block.e-active\"\r\n    );\r\n    if (activeEle) {\r\n      activeEle.classList.remove(\"e-active\");\r\n    }\r\n    //this.closeDialog();\r\n  }\r\n\r\n  onQuerySelect(args) {\r\n    // this.chipList.selectedChips = 0;\r\n    this.translatelanguage = \"EN\";\r\n    this.selectedQuery = args.itemData.id;\r\n    this.updateAISugesstionsData(args.itemData.id);\r\n  }\r\n\r\n  onLanguageSelect(args: any): void {\r\n    this.translatelanguage = args.itemData.id;\r\n    this.updateAISugesstionsData(\"Translate\");\r\n  }\r\n\r\n  onChipClick(args: any): void {\r\n    this.chipValue = args.itemData.text;\r\n    // 事件会触发两次 必须判断args.text是否有值\r\n    if (args.itemData.text) this.updateAISugesstionsData(\"Rephrase\");\r\n  }\r\n\r\n  _toolbarClick(args) {\r\n    this.toolbarClick.emit(args);\r\n  }\r\n\r\n  _actionBegin(args) {\r\n    this.actionBegin.emit(args);\r\n  }\r\n  _input(args) {\r\n    this.input.emit(args);\r\n  }\r\n  _actionComplete(args) {\r\n    if (args.requestType == \"UL\") {\r\n      if (args.elements[0].parentElement.style.listStyleType == \"dash\") {\r\n        // Apply custom styling for dash bullets\r\n        args.elements[0].parentElement.style.listStyleImage =\r\n          \"url('../../../assets/img/bullet-dash.svg')\";\r\n        args.elements[0].parentElement.style.listStyleType = \"none\";\r\n      }\r\n    } else if (args.requestType == \"OL\") {\r\n      args.elements[0].parentElement.classList.remove(\r\n        \"custom-list\",\r\n        \"parentheses\"\r\n      );\r\n      if (args.elements[0].parentElement.style.listStyleType == \"parentheses\") {\r\n        args.elements[0].parentElement.classList = \"custom-list\";\r\n        args.elements[0].parentElement.classList.add(\"parentheses\");\r\n      }\r\n    }\r\n    this.actionComplete.emit(args);\r\n  }\r\n\r\n  _focus(args) {\r\n    this.focus.emit(args);\r\n  }\r\n  _blur(args) {\r\n    this.blur.emit(args);\r\n  }\r\n  _dialogOpen(args) {\r\n    if (args.element.classList.contains(\"e-rte-edit-table\")) {\r\n      setTimeout(() => {\r\n        var rowBox = (\r\n          document.querySelectorAll(\".e-table-row.e-numerictextbox\")[0] as any\r\n        ).ej2_instances[0];\r\n        var columnBox = (\r\n          document.querySelectorAll(\r\n            \".e-table-column.e-numerictextbox\"\r\n          )[0] as any\r\n        ).ej2_instances[0];\r\n        rowBox.change = () => {\r\n          if (rowBox.value > 50) {\r\n            (\r\n              document.querySelectorAll(\r\n                \".e-rte-elements.e-insert-table\"\r\n              )[0] as any\r\n            ).ej2_instances[0].disabled = true;\r\n            this.dialog.showNotification(\r\n              \"The row number must be between 1 and 50.\",\r\n              { status: \"Warning\" }\r\n            );\r\n          } else {\r\n            (\r\n              document.querySelectorAll(\r\n                \".e-rte-elements.e-insert-table\"\r\n              )[0] as any\r\n            ).ej2_instances[0].disabled = false;\r\n          }\r\n        };\r\n        columnBox.change = () => {\r\n          if (columnBox.value > 25) {\r\n            (\r\n              document.querySelectorAll(\r\n                \".e-rte-elements.e-insert-table\"\r\n              )[0] as any\r\n            ).ej2_instances[0].disabled = true;\r\n            this.dialog.showNotification(\r\n              \"The column number must be between 1 and 25.\",\r\n              { status: \"Warning\" }\r\n            );\r\n          } else {\r\n            (\r\n              document.querySelectorAll(\r\n                \".e-rte-elements.e-insert-table\"\r\n              )[0] as any\r\n            ).ej2_instances[0].disabled = false;\r\n          }\r\n        };\r\n      });\r\n    }\r\n  }\r\n\r\n  // _afterPasteCleanup(args) {\r\n  //   args.value = this.unescapeHtml(args.value);\r\n  // }\r\n\r\n  unescapeHtml(escapedHtml: string): string {\r\n    return escapedHtml\r\n      .replace(/&lt;/g, \"<\")\r\n      .replace(/&gt;/g, \">\")\r\n      .replace(/&amp;/g, \"&\")\r\n      .replace(/&quot;/g, '\"')\r\n      .replace(/&apos;/g, \"'\");\r\n  }\r\n\r\n  onZoom() {\r\n    if (this.size === \"largest\") {\r\n      this.size = \"\"; // 恢复到原始大小\r\n    } else {\r\n      this.size = \"largest\"; // 设置为最大化\r\n    }\r\n  }\r\n\r\n  regenerateClick() {\r\n    this.updateAISugesstions();\r\n  }\r\n\r\n  copyClick() {\r\n    this.copyTextToClipboard(this.AIResult);\r\n  }\r\n\r\n  replaceClick() {\r\n    let range: Range = (\r\n      this.rteObj as any\r\n    ).formatter.editorManager.nodeSelection.getRange(\r\n      (this.rteObj as any).contentModule.getDocument()\r\n    );\r\n    (this.rteObj as any).formatter.editorManager.nodeSelection.restore(range);\r\n    (this.rteObj as any).executeCommand(\"insertHTML\", this.AIResult, {\r\n      undo: true,\r\n    });\r\n    this.closeDialog();\r\n  }\r\n\r\n  updateResponse(content) {\r\n    this.currentResponse = content;\r\n    const htmlContent = this.extractHTMLFromResponse(content);\r\n    this.rightRte.value = htmlContent;\r\n    const rteContainer = document.getElementById(\"rightRte\");\r\n    const scrollableElement = rteContainer?.querySelector(\".e-rte-content\");\r\n    if (scrollableElement) {\r\n      // 自动滚动到底部\r\n      scrollableElement.scrollTop =\r\n        scrollableElement.scrollHeight - scrollableElement.clientHeight;\r\n      this.ref.detectChanges();\r\n    }\r\n  }\r\n\r\n  extractHTMLFromResponse(content) {\r\n    const codeBlockRegex = /```html\\s*([\\s\\S]*?)\\s*```/;\r\n    const match = content.match(codeBlockRegex);\r\n    if (match && match[1]) {\r\n      return match[1].trim();\r\n    }\r\n    return content;\r\n  }\r\n\r\n  onMinimize() {\r\n    (this.AIdialog as DialogComponent).element.style.display = \"none\";\r\n    // this.AIdialog.hide();\r\n    this.dialog.showLoadingNotification({\r\n      loadingCallback: (callback) => {},\r\n      message: this.translation.AI_IN_PROGRESS || \"AI is in progress\",\r\n    });\r\n  }\r\n\r\n  showDialog() {\r\n    (this.AIdialog as DialogComponent).element.style.display = \"\";\r\n    // this.AIdialog.show();\r\n    this.snackBar.dismiss();\r\n  }\r\n}\r\n","<div class=\"editor_box\" id=\"container\">\r\n  <ejs-richtexteditor\r\n    #editor\r\n    [id]=\"editorId\"\r\n    [height]=\"height\"\r\n    [saveInterval]=\"0\"\r\n    [autoSaveOnIdle]=\"autoSaveOnIdle\"\r\n    [toolbarSettings]=\"tools\"\r\n    [bulletFormatList]=\"bulletFormatList\"\r\n    [numberFormatList]=\"numberFormatList\"\r\n    [fontFamily]=\"family\"\r\n    [fontSize]=\"fontSize\"\r\n    [disabled]=\"disabled\"\r\n    [insertImageSettings]=\"insertImageSettings\"\r\n    [(ngModel)]=\"value\"\r\n    (actionBegin)=\"_actionBegin($event)\"\r\n    (change)=\"onContentChange($event)\"\r\n    (created)=\"onCreate()\"\r\n    (toolbarClick)=\"_toolbarClick($event)\"\r\n    (input)=\"_input($event)\"\r\n    (focus)=\"_focus($event)\"\r\n    (blur)=\"_blur($event)\"\r\n    (actionComplete)=\"_actionComplete($event)\"\r\n    (dialogOpen)=\"_dialogOpen($event)\"\r\n  >\r\n  </ejs-richtexteditor>\r\n  <ejs-dialog\r\n    #AIdialog\r\n    id=\"AIdialog\"\r\n    [ngClass]=\"size\"\r\n    [visible]=\"false\"\r\n    [target]=\"target\"\r\n    [isModal]=\"true\"\r\n    [height]=\"dialogHeight\"\r\n    [width]=\"dialogWidth\"\r\n    maxHeight=\"80%\"\r\n    cssClass=\"e-rte-elements custom-dialog-rte\"\r\n    zIndex=\"1000\"\r\n    (close)=\"closeDialog()\"\r\n    (overlayClick)=\"onOverlayClick()\"\r\n    (open)=\"dialogShow()\"\r\n  >\r\n    <ng-template #header>\r\n      <div class=\"header-title\">\r\n        {{ translation.AI_ASSIST || \".AI Assist\" }}\r\n      </div>\r\n      <div class=\"header-buttons\">\r\n        <!-- <div class=\"header-btn\" *ngIf=\"zoomout\">\r\n          <img\r\n            src=\"/assets/img/dialog-narrow.svg\"\r\n            class=\"header-icon\"\r\n            (click)=\"onMinimize()\"\r\n          />\r\n        </div> -->\r\n        <div *ngIf=\"showZoomBtn\" class=\"header-zoom\" (click)=\"onZoom()\">\r\n          <img\r\n            class=\"header-icon\"\r\n            *ngIf=\"size === 'largest'\"\r\n            src=\"../../../assets/img/dialog-shrink.svg\"\r\n          />\r\n          <img\r\n            class=\"header-icon\"\r\n            *ngIf=\"size !== 'largest'\"\r\n            src=\"../../../assets/img/dialog-grow.svg\"\r\n          />\r\n        </div>\r\n        <div class=\"header-btn\" (click)=\"closeDialog()\">\r\n          <img class=\"header-icon\" src=\"../../../assets/img/dialog-close.svg\" />\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #footerTemplate>\r\n      <div id=\"dialog-footer-content\">\r\n        <div class=\"custom-row-0\">\r\n          <div\r\n            class=\"cuscol-0\"\r\n            style=\"width: 100%; align-items: center; justify-content: left\"\r\n          ></div>\r\n          <div\r\n            class=\"cuscol-1\"\r\n            style=\"\r\n              display: flex;\r\n              flex-direction: column;\r\n              justify-content: center;\r\n              align-items: center;\r\n              width: 100%;\r\n            \"\r\n          >\r\n            <div style=\"text-align: right; width: 100%\">\r\n              <button\r\n                ejs-button\r\n                #sentimentButton\r\n                [content]=\"'😊 ' + (translation.NEUTRAL || '.Neutral')\"\r\n                disabled=\"false\"\r\n                cssClass=\"sentiment\"\r\n              ></button>\r\n              <button\r\n                ejs-button\r\n                #copyButton\r\n                [content]=\"translation.COPY || '.Copy'\"\r\n                disabled=\"false\"\r\n                class=\"copy-btn\"\r\n                (click)=\"copyClick()\"\r\n              ></button>\r\n              <button\r\n                ejs-button\r\n                #replaceButton\r\n                [content]=\"translation.REPLACE || '.Replace'\"\r\n                isPrimary=\"true\"\r\n                disabled=\"false\"\r\n                (click)=\"replaceClick()\"\r\n              ></button>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #content>\r\n      <div class=\"dialog-content\" style=\"height: 100%\">\r\n        <div class=\"custom-row-0\">\r\n          <div class=\"cuscol-0\" style=\"width: 100%\">\r\n            <ejs-dropdownlist\r\n              #queryCategory\r\n              style=\"width: 200px\"\r\n              id=\"queryCategory\"\r\n              [dataSource]=\"queryList\"\r\n              index=\"0\"\r\n              [fields]=\"{ text: 'text', value: 'id' }\"\r\n              (select)=\"onQuerySelect($event)\"\r\n            >\r\n              {{ translation.REPHRASE || \".Rephrase\" }}\r\n            </ejs-dropdownlist>\r\n            <ejs-dropdownlist\r\n              *ngIf=\"selectedQuery == 'Rephrase'\"\r\n              id=\"chips-container\"\r\n              #chipList\r\n              style=\"width: 160px\"\r\n              [(ngModel)]=\"chipValue\"\r\n              [dataSource]=\"rephraseTyleList\"\r\n              [fields]=\"{ text: 'text', value: 'id' }\"\r\n              (select)=\"onChipClick($event)\"\r\n            >\r\n            </ejs-dropdownlist>\r\n            <ejs-dropdownlist\r\n              *ngIf=\"selectedQuery == 'Translate'\"\r\n              #languageCategory\r\n              index=\"0\"\r\n              id=\"language-Category\"\r\n              [dataSource]=\"languageList\"\r\n              [fields]=\"{ text: 'text', value: 'id' }\"\r\n              (select)=\"onLanguageSelect($event)\"\r\n            >\r\n            </ejs-dropdownlist>\r\n          </div>\r\n          <div\r\n            class=\"cuscol-1\"\r\n            style=\"\r\n              justify-content: space-between;\r\n              align-items: center;\r\n              width: 100%;\r\n            \"\r\n          >\r\n            <!-- <ejs-chiplist\r\n              id=\"chips-container\"\r\n              #chipList\r\n              [chips]=\"['Standard', 'Fluent', 'Professional']\"\r\n              selection=\"Single\"\r\n              cssClass=\"e-outline\"\r\n              [selectedChips]=\"[0]\"\r\n              (click)=\"onChipClick($event)\"\r\n            >\r\n            </ejs-chiplist> -->\r\n            <button\r\n              ejs-button\r\n              #regenerateButton\r\n              [content]=\"translation.REGENERATE || '.Regenerate'\"\r\n              isPrimary=\"true\"\r\n              disabled=\"false\"\r\n              (click)=\"regenerateClick()\"\r\n            ></button>\r\n          </div>\r\n        </div>\r\n        <div class=\"custom-row-1\" style=\"height: calc(100% - 40px)\">\r\n          <div\r\n            class=\"cuscol-0\"\r\n            style=\"\r\n              flex: 1;\r\n              height: 100%;\r\n              align-items: center;\r\n              justify-content: left;\r\n              overflow: auto;\r\n            \"\r\n          >\r\n            <div style=\"text-align: left; height: 100%\">\r\n              <ejs-richtexteditor\r\n                #leftRte\r\n                id=\"leftRte\"\r\n                height=\"100%\"\r\n                [toolbarSettings]=\"{ enable: false }\"\r\n                [placeholder]=\"\r\n                  translation.ANALYSIS_OF_AI_SUPPORT ||\r\n                  '.Analysis of AI Support'\r\n                \"\r\n                cssClass=\"e-outline\"\r\n              >\r\n              </ejs-richtexteditor>\r\n            </div>\r\n          </div>\r\n          <div\r\n            class=\"cuscol-1\"\r\n            style=\"\r\n              flex: 1;\r\n              height: 100%;\r\n              display: flex;\r\n              flex-direction: column;\r\n              overflow: hidden;\r\n            \"\r\n          >\r\n            <div style=\"flex: 1; min-height: 0; overflow: hidden\">\r\n              <ejs-richtexteditor\r\n                #rightRte\r\n                id=\"rightRte\"\r\n                height=\"100%\"\r\n                width=\"100%\"\r\n                [toolbarSettings]=\"{ enable: false }\"\r\n                [placeholder]=\"\r\n                  translation.ANALYSIS_OF_AI_SUPPORT ||\r\n                  '.Analysis of AI Support'\r\n                \"\r\n                cssClass=\"e-outline\"\r\n              >\r\n              </ejs-richtexteditor>\r\n              <div\r\n                class=\"no-results-found\"\r\n                id=\"no-results-found\"\r\n                style=\"display: none; height: 244px; align-content: center\"\r\n              >\r\n                <img\r\n                  height=\"50\"\r\n                  width=\"50\"\r\n                  src=\"https://storage.googleapis.com/cdn-bolddesk/agent-angular-app/images/light/no-records-warning.svg\"\r\n                />\r\n                <div>\r\n                  {{ translation.NO_RESULTS_FOUND || \".No results found\" }}\r\n                </div>\r\n              </div>\r\n              <div id=\"skeletonId\">\r\n                <ejs-skeleton\r\n                  #skeletonId1\r\n                  shape=\"Rectangle\"\r\n                  height=\"16px\"\r\n                  width=\"100%\"\r\n                ></ejs-skeleton\r\n                ><br />\r\n                <ejs-skeleton\r\n                  #skeletonId2\r\n                  shape=\"Rectangle\"\r\n                  height=\"16px\"\r\n                  width=\"90%\"\r\n                ></ejs-skeleton\r\n                ><br />\r\n                <ejs-skeleton\r\n                  #skeletonId3\r\n                  shape=\"Rectangle\"\r\n                  height=\"16px\"\r\n                  width=\"70%\"\r\n                ></ejs-skeleton\r\n                ><br />\r\n                <ejs-skeleton\r\n                  #skeletonId4\r\n                  shape=\"Rectangle\"\r\n                  height=\"16px\"\r\n                  width=\"50%\"\r\n                ></ejs-skeleton\r\n                ><br />\r\n                <ejs-skeleton\r\n                  #skeletonId5\r\n                  shape=\"Rectangle\"\r\n                  height=\"16px\"\r\n                  width=\"30%\"\r\n                ></ejs-skeleton\r\n                ><br />\r\n                <ejs-skeleton\r\n                  #skeletonId6\r\n                  shape=\"Rectangle\"\r\n                  height=\"16px\"\r\n                  width=\"10%\"\r\n                ></ejs-skeleton\r\n                ><br />\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n  </ejs-dialog>\r\n</div>\r\n","import {\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  OnChanges,\r\n  SimpleChanges,\r\n  ViewChild,\r\n} from \"@angular/core\";\r\nimport { MultiSelectComponent } from \"@syncfusion/ej2-angular-dropdowns\";\r\n\r\n@Component({\r\n  selector: \"rs-confirm-select\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class ConfirmSelectComponent implements OnInit, OnChanges {\r\n  @ViewChild(\"comfirmSelect\", { static: false })\r\n  comfirmSelect: MultiSelectComponent;\r\n  @Input() value;\r\n  @Input() dataSource = [];\r\n  @Input() disabled = false;\r\n  @Input() fields = { text: \"Game\", value: \"Id\" };\r\n  @Input() placeholder;\r\n  @Input() showSelectAll = true;\r\n\r\n  @Output() valueChange = new EventEmitter();\r\n\r\n  translation;\r\n  selectedItems = [];\r\n  isInteracted = false;\r\n\r\n  ngOnInit() {\r\n    this.getInfo();\r\n    this.resetSelectedItems();\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (changes.value && !changes.value.firstChange) {\r\n      this.resetSelectedItems();\r\n    }\r\n  }\r\n\r\n  getInfo() {\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\"));\r\n  }\r\n\r\n  resetSelectedItems() {\r\n    this.selectedItems = JSON.parse(JSON.stringify(this.value || []));\r\n    if (this.comfirmSelect) {\r\n      this.comfirmSelect.value = this.selectedItems;\r\n    }\r\n  }\r\n\r\n  onCancel() {\r\n    this.isInteracted = true;\r\n    this.resetSelectedItems();\r\n    this.comfirmSelect.hidePopup();\r\n  }\r\n\r\n  onApply() {\r\n    this.isInteracted = true;\r\n    const val = this.comfirmSelect.value;\r\n    this.valueChange.emit(val);\r\n    this.comfirmSelect.hidePopup();\r\n  }\r\n\r\n  onClose(e) {\r\n    if (this.isInteracted) {\r\n      this.isInteracted = false;\r\n    } else {\r\n      this.resetSelectedItems();\r\n    }\r\n  }\r\n}\r\n","<div class=\"rs-confirm-select\">\r\n  <ejs-multiselect\r\n    #comfirmSelect\r\n    [dataSource]=\"dataSource\"\r\n    [showDropDownIcon]=\"true\"\r\n    [placeholder]=\"placeholder\"\r\n    [(ngModel)]=\"selectedItems\"\r\n    [fields]=\"fields\"\r\n    [showSelectAll]=\"showSelectAll\"\r\n    mode=\"CheckBox\"\r\n    [footerTemplate]=\"footerTemplate\"\r\n    [showClearButton]=\"false\"\r\n    (close)=\"onClose($event)\"\r\n    filterType=\"Contains\"\r\n  >\r\n    <ng-template #footerTemplate=\"\" let-data=\"data\">\r\n      <div class=\"confirm-select-footer\">\r\n        <button class=\"e-btn\" (click)=\"onCancel()\">\r\n          {{ translation.CANCEL }}\r\n        </button>\r\n        <button class=\"e-btn e-primary\" (click)=\"onApply()\">\r\n          {{ translation.APPLY }}\r\n        </button>\r\n      </div>\r\n    </ng-template>\r\n  </ejs-multiselect>\r\n</div>\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  OnDestroy,\r\n  OnChanges,\r\n  SimpleChanges,\r\n  Output,\r\n  ViewChild,\r\n  HostListener,\r\n} from \"@angular/core\";\r\n\r\nexport type PlacementType =\r\n  | \"TopLeft\"\r\n  | \"TopCenter\"\r\n  | \"TopRight\"\r\n  | \"BottomLeft\"\r\n  | \"BottomCenter\"\r\n  | \"BottomRight\"\r\n  | \"LeftTop\"\r\n  | \"LeftCenter\"\r\n  | \"LeftBottom\"\r\n  | \"RightTop\"\r\n  | \"RightCenter\"\r\n  | \"RightBottom\";\r\n\r\n@Component({\r\n  selector: \"rs-smart-popup\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class SmartPopupComponent\r\n  implements AfterViewInit, OnDestroy, OnChanges\r\n{\r\n  @Input(\"placement\") _placement: PlacementType = \"BottomLeft\";\r\n  @Input(\"offset\") _offset: number = 8;\r\n  @Input(\"autoAdjust\") _autoAdjust: \"yes\" | \"no\" = \"yes\";\r\n  @Input(\"triggerElement\") triggerElementRef: HTMLElement | null = null;\r\n  @Input(\"loading\") loading: boolean = false;\r\n  @Input(\"open\") _open: boolean = false;\r\n  @Input(\"width\") _width: number | null = null;\r\n  @Input(\"height\") _height: number | null = null;\r\n\r\n  // 解析placement格式\r\n  get placementInfo(): {\r\n    placement: \"top\" | \"left\" | \"right\" | \"bottom\";\r\n    position: \"start\" | \"center\" | \"end\";\r\n  } {\r\n    const placementMap: {\r\n      [key: string]: {\r\n        placement: \"top\" | \"left\" | \"right\" | \"bottom\";\r\n        position: \"start\" | \"center\" | \"end\";\r\n      };\r\n    } = {\r\n      TopLeft: { placement: \"top\", position: \"start\" },\r\n      TopCenter: { placement: \"top\", position: \"center\" },\r\n      TopRight: { placement: \"top\", position: \"end\" },\r\n      BottomLeft: { placement: \"bottom\", position: \"start\" },\r\n      BottomCenter: { placement: \"bottom\", position: \"center\" },\r\n      BottomRight: { placement: \"bottom\", position: \"end\" },\r\n      LeftTop: { placement: \"left\", position: \"start\" },\r\n      LeftCenter: { placement: \"left\", position: \"center\" },\r\n      LeftBottom: { placement: \"left\", position: \"end\" },\r\n      RightTop: { placement: \"right\", position: \"start\" },\r\n      RightCenter: { placement: \"right\", position: \"center\" },\r\n      RightBottom: { placement: \"right\", position: \"end\" },\r\n    };\r\n    return (\r\n      placementMap[this._placement] || {\r\n        placement: \"bottom\",\r\n        position: \"start\",\r\n      }\r\n    );\r\n  }\r\n\r\n  get offset() {\r\n    return this._offset || 8;\r\n  }\r\n\r\n  get autoAdjust() {\r\n    return this._autoAdjust === \"yes\";\r\n  }\r\n\r\n  @Output(\"openChange\") openChange = new EventEmitter<boolean>();\r\n  @Output(\"contentLoad\") contentLoad = new EventEmitter<void>();\r\n\r\n  @ViewChild(\"trigger\", { static: false })\r\n  internalTriggerElement: ElementRef<HTMLElement>;\r\n  @ViewChild(\"popup\", { static: false })\r\n  popupElement: ElementRef<HTMLDivElement>;\r\n\r\n  currentTriggerElement: HTMLElement | null = null;\r\n\r\n  constructor(private ref: ChangeDetectorRef) {}\r\n\r\n  ngAfterViewInit() {\r\n    this.fixedContainerEl = this.getFixedContainer();\r\n    this.fixedContainerEl.append(this.popupElement.nativeElement);\r\n    this.updateTriggerElement();\r\n\r\n    // 如果提供了固定尺寸，立即应用\r\n    if (\r\n      this._width !== null &&\r\n      this._height !== null &&\r\n      this.popupElement &&\r\n      this.popupElement.nativeElement\r\n    ) {\r\n      const popupEl = this.popupElement.nativeElement;\r\n      popupEl.style.width = this._width + \"px\";\r\n      popupEl.style.height = this._height + \"px\";\r\n      popupEl.style.minWidth = this._width + \"px\";\r\n      popupEl.style.maxWidth = this._width + \"px\";\r\n      popupEl.style.minHeight = this._height + \"px\";\r\n      popupEl.style.maxHeight = this._height + \"px\";\r\n    }\r\n\r\n    // 如果外部传入 open 属性为 true，自动打开\r\n    if (this._open) {\r\n      setTimeout(() => this.open(), 0);\r\n    }\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    // 处理固定尺寸变化\r\n    if (\r\n      (changes._width || changes._height) &&\r\n      this.popupElement &&\r\n      this.popupElement.nativeElement\r\n    ) {\r\n      const popupEl = this.popupElement.nativeElement;\r\n      if (this._width !== null) {\r\n        popupEl.style.width = this._width + \"px\";\r\n        popupEl.style.minWidth = this._width + \"px\";\r\n        popupEl.style.maxWidth = this._width + \"px\";\r\n      }\r\n      if (this._height !== null) {\r\n        popupEl.style.height = this._height + \"px\";\r\n        popupEl.style.minHeight = this._height + \"px\";\r\n        popupEl.style.maxHeight = this._height + \"px\";\r\n      }\r\n    }\r\n\r\n    // 先处理触发元素变化（确保在打开前更新触发元素）\r\n    if (changes.triggerElementRef) {\r\n      const previousTrigger = this.currentTriggerElement;\r\n      this.updateTriggerElement();\r\n\r\n      // 如果弹窗已经打开，且触发元素发生了变化，立即更新位置\r\n      if (\r\n        this.opened === \"yes\" &&\r\n        previousTrigger !== this.currentTriggerElement &&\r\n        this.currentTriggerElement\r\n      ) {\r\n        // 如果提供了固定尺寸，直接重新计算位置（避免位置跳动）\r\n        if (this._width !== null && this._height !== null) {\r\n          // 先隐藏弹窗（positioning = yes）\r\n          this.positioning = \"yes\";\r\n          this.ref.markForCheck();\r\n          this.ref.detectChanges(); // 立即应用隐藏状态\r\n          \r\n          requestAnimationFrame(() => {\r\n            if (this.currentTriggerElement) {\r\n              const triggerRect = this.currentTriggerElement.getBoundingClientRect();\r\n              const popupSize = {\r\n                width: this._width!,\r\n                height: this._height!,\r\n              };\r\n              const targetInfo = this.placementInfo;\r\n              let finalPlacement = targetInfo.placement;\r\n              const finalPosition = targetInfo.position;\r\n\r\n              if (this.autoAdjust) {\r\n                const popupRect: DOMRect = {\r\n                  width: popupSize.width,\r\n                  height: popupSize.height,\r\n                  top: 0,\r\n                  left: 0,\r\n                  right: popupSize.width,\r\n                  bottom: popupSize.height,\r\n                  x: 0,\r\n                  y: 0,\r\n                  toJSON: () => ({}),\r\n                } as DOMRect;\r\n                const optimal = this.calculateOptimalPlacement(\r\n                  triggerRect,\r\n                  popupRect,\r\n                  window.innerWidth,\r\n                  window.innerHeight\r\n                );\r\n                finalPlacement = optimal.placement;\r\n              }\r\n\r\n              this.actualPlacement = finalPlacement;\r\n              this.actualPosition = finalPosition;\r\n\r\n              const position = this.calculatePositionCoordinates(\r\n                triggerRect,\r\n                finalPlacement,\r\n                finalPosition,\r\n                popupSize\r\n              );\r\n\r\n              if (this.popupElement && this.popupElement.nativeElement) {\r\n                const popupEl = this.popupElement.nativeElement;\r\n                popupEl.style.top = position.top;\r\n                popupEl.style.left = position.left;\r\n                popupEl.style.transform = `translate(${position.translateX}, ${position.translateY})`;\r\n                popupEl.offsetHeight; // 强制同步应用样式\r\n                \r\n                // 位置设置完成后，再显示弹窗\r\n                requestAnimationFrame(() => {\r\n                  this.positioning = \"no\";\r\n                  this.ref.markForCheck();\r\n                });\r\n              }\r\n            }\r\n          });\r\n        } else {\r\n          // 使用新的打开方式更新位置\r\n          this.positioning = \"yes\";\r\n          this.ref.markForCheck();\r\n          requestAnimationFrame(() => {\r\n            requestAnimationFrame(() => {\r\n              this.updatePopupPosition();\r\n              this.positioning = \"no\";\r\n              this.ref.markForCheck();\r\n            });\r\n          });\r\n        }\r\n      }\r\n    }\r\n\r\n    // 处理 open 变化（确保在触发元素更新后处理）\r\n    if (changes._open) {\r\n      if (this._open && this.opened === \"no\") {\r\n        // 确保触发元素已更新\r\n        this.updateTriggerElement();\r\n        // 使用 setTimeout 确保所有变更都已处理\r\n        setTimeout(() => {\r\n          // 再次确保触发元素已更新\r\n          this.updateTriggerElement();\r\n          this.open();\r\n        }, 0);\r\n      } else if (!this._open && this.opened === \"yes\") {\r\n        this.close();\r\n      }\r\n    }\r\n\r\n    // 当加载完成时，更新位置（如果提供了固定尺寸，不需要更新位置）\r\n    if (\r\n      changes.loading &&\r\n      !changes.loading.currentValue &&\r\n      changes.loading.previousValue\r\n    ) {\r\n      if (this.opened === \"yes\") {\r\n        // 如果提供了固定尺寸，位置已经计算好了，不需要更新\r\n        if (this._width !== null && this._height !== null) {\r\n          this.contentLoad.emit();\r\n        } else {\r\n          // 如果正在定位，不需要更新位置\r\n          if (this.positioning === \"no\") {\r\n            requestAnimationFrame(() => {\r\n              this.updatePopupPosition();\r\n              this.contentLoad.emit();\r\n            });\r\n          } else {\r\n            // 如果正在定位，等待定位完成后再触发事件\r\n            const checkPositioning = () => {\r\n              if (this.positioning === \"no\") {\r\n                this.contentLoad.emit();\r\n              } else {\r\n                setTimeout(checkPositioning, 10);\r\n              }\r\n            };\r\n            checkPositioning();\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (this.popupElement && this.popupElement.nativeElement) {\r\n      this.popupElement.nativeElement.remove();\r\n    }\r\n    window.removeEventListener(\"click\", this.onClickOutside);\r\n    window.removeEventListener(\"scroll\", this.onWindowScroll, true);\r\n  }\r\n\r\n  updateTriggerElement() {\r\n    if (this.triggerElementRef) {\r\n      this.currentTriggerElement = this.triggerElementRef;\r\n    } else if (\r\n      this.internalTriggerElement &&\r\n      this.internalTriggerElement.nativeElement\r\n    ) {\r\n      this.currentTriggerElement = this.internalTriggerElement.nativeElement;\r\n    } else {\r\n      this.currentTriggerElement = null;\r\n    }\r\n  }\r\n\r\n  FIXED_CONTAINER_ID = \"rs-smart-popup-fixed-container\";\r\n  fixedContainerEl: HTMLElement;\r\n  getFixedContainer() {\r\n    let containerElement = document.getElementById(this.FIXED_CONTAINER_ID);\r\n    if (!containerElement) {\r\n      containerElement = document.createElement(\"div\");\r\n      containerElement.setAttribute(\"id\", this.FIXED_CONTAINER_ID);\r\n      document.body.append(containerElement);\r\n    }\r\n    return containerElement;\r\n  }\r\n\r\n  opened: \"yes\" | \"no\" = \"no\";\r\n  positioning: \"yes\" | \"no\" = \"no\";\r\n  actualPlacement: \"top\" | \"left\" | \"right\" | \"bottom\" = \"bottom\";\r\n  actualPosition: \"start\" | \"center\" | \"end\" = \"start\";\r\n\r\n  open(triggerElement?: HTMLElement) {\r\n    // 如果传入了触发元素，使用它\r\n    if (triggerElement) {\r\n      this.currentTriggerElement = triggerElement;\r\n    } else {\r\n      this.updateTriggerElement();\r\n    }\r\n\r\n    if (!this.currentTriggerElement) {\r\n      console.warn(\"SmartPopupComponent: No trigger element found\");\r\n      return;\r\n    }\r\n\r\n    // 如果已经打开，且提供了固定尺寸，直接重新计算位置（避免关闭再打开导致的跳动）\r\n    if (this.opened === \"yes\") {\r\n      if (this._width !== null && this._height !== null) {\r\n        // 有固定尺寸，直接重新计算位置，不关闭弹窗\r\n        // 先隐藏弹窗（positioning = yes）\r\n        this.positioning = \"yes\";\r\n        this.ref.markForCheck();\r\n        this.ref.detectChanges(); // 立即应用隐藏状态\r\n        \r\n        requestAnimationFrame(() => {\r\n          // 再次确保触发元素已更新\r\n          this.updateTriggerElement();\r\n          if (this.currentTriggerElement) {\r\n            const triggerRect = this.currentTriggerElement.getBoundingClientRect();\r\n            const popupSize = {\r\n              width: this._width!,\r\n              height: this._height!,\r\n            };\r\n            const targetInfo = this.placementInfo;\r\n            let finalPlacement = targetInfo.placement;\r\n            const finalPosition = targetInfo.position;\r\n\r\n            if (this.autoAdjust) {\r\n              const popupRect: DOMRect = {\r\n                width: popupSize.width,\r\n                height: popupSize.height,\r\n                top: 0,\r\n                left: 0,\r\n                right: popupSize.width,\r\n                bottom: popupSize.height,\r\n                x: 0,\r\n                y: 0,\r\n                toJSON: () => ({}),\r\n              } as DOMRect;\r\n              const optimal = this.calculateOptimalPlacement(\r\n                triggerRect,\r\n                popupRect,\r\n                window.innerWidth,\r\n                window.innerHeight\r\n              );\r\n              finalPlacement = optimal.placement;\r\n            }\r\n\r\n            this.actualPlacement = finalPlacement;\r\n            this.actualPosition = finalPosition;\r\n\r\n            const position = this.calculatePositionCoordinates(\r\n              triggerRect,\r\n              finalPlacement,\r\n              finalPosition,\r\n              popupSize\r\n            );\r\n\r\n            if (this.popupElement && this.popupElement.nativeElement) {\r\n              const popupEl = this.popupElement.nativeElement;\r\n              popupEl.style.top = position.top;\r\n              popupEl.style.left = position.left;\r\n              popupEl.style.transform = `translate(${position.translateX}, ${position.translateY})`;\r\n              popupEl.offsetHeight; // 强制同步应用样式\r\n              \r\n              // 位置设置完成后，再显示弹窗\r\n              requestAnimationFrame(() => {\r\n                this.positioning = \"no\";\r\n                this.ref.markForCheck();\r\n              });\r\n            }\r\n          }\r\n        });\r\n        return;\r\n      } else {\r\n        // 没有固定尺寸，先关闭再打开\r\n        this.opened = \"no\";\r\n        this.positioning = \"no\";\r\n        this.ref.markForCheck();\r\n        requestAnimationFrame(() => {\r\n          this.updateTriggerElement();\r\n          this.openPopup();\r\n        });\r\n        return;\r\n      }\r\n    }\r\n\r\n    // 确保触发元素已更新\r\n    this.updateTriggerElement();\r\n    this.openPopup();\r\n  }\r\n\r\n  private openPopup() {\r\n    // 再次确保触发元素已更新\r\n    this.updateTriggerElement();\r\n\r\n    if (!this.currentTriggerElement) {\r\n      console.warn(\r\n        \"SmartPopupComponent: No trigger element found when opening popup\"\r\n      );\r\n      return;\r\n    }\r\n\r\n    // 如果提供了固定尺寸，可以在打开前就计算好位置\r\n    if (this._width !== null && this._height !== null) {\r\n      // 先计算位置（不依赖DOM渲染，直接根据triggerElement计算）\r\n      const triggerRect = this.currentTriggerElement.getBoundingClientRect();\r\n      const viewportWidth = window.innerWidth;\r\n      const viewportHeight = window.innerHeight;\r\n\r\n      const popupSize = {\r\n        width: this._width,\r\n        height: this._height,\r\n      };\r\n\r\n      const popupRect: DOMRect = {\r\n        width: popupSize.width,\r\n        height: popupSize.height,\r\n        top: 0,\r\n        left: 0,\r\n        right: popupSize.width,\r\n        bottom: popupSize.height,\r\n        x: 0,\r\n        y: 0,\r\n        toJSON: () => ({}),\r\n      } as DOMRect;\r\n\r\n      const targetInfo = this.placementInfo;\r\n      let finalPlacement = targetInfo.placement;\r\n      // 始终使用用户指定的 position，autoAdjust 只调整 placement（方向），不改变对齐方式\r\n      const finalPosition = targetInfo.position;\r\n\r\n      if (this.autoAdjust) {\r\n        const optimal = this.calculateOptimalPlacement(\r\n          triggerRect,\r\n          popupRect,\r\n          viewportWidth,\r\n          viewportHeight\r\n        );\r\n        // autoAdjust 只调整 placement（上下左右），保持用户指定的 position（对齐方式）\r\n        finalPlacement = optimal.placement;\r\n        // finalPosition 保持用户指定的值，不改变\r\n      }\r\n\r\n      this.actualPlacement = finalPlacement;\r\n      this.actualPosition = finalPosition;\r\n\r\n      // 计算位置坐标（不依赖DOM，直接计算）\r\n      const position = this.calculatePositionCoordinates(\r\n        triggerRect,\r\n        finalPlacement,\r\n        finalPosition,\r\n        popupSize\r\n      );\r\n\r\n      // 先设置打开状态，但保持隐藏（positioning = yes）\r\n      // 注意：先设置 positioning = yes，再设置 opened = yes，确保弹窗在位置计算完成前始终隐藏\r\n      this.positioning = \"yes\";\r\n      this.opened = \"yes\";\r\n      this.openChange.emit(true);\r\n      this.ref.markForCheck();\r\n\r\n      // 强制更新视图，确保DOM已更新，但弹窗仍然隐藏（因为 positioning = yes）\r\n      this.ref.detectChanges();\r\n\r\n      // 设置位置的函数\r\n      const setPosition = () => {\r\n        if (this.popupElement && this.popupElement.nativeElement) {\r\n          const popupEl = this.popupElement.nativeElement;\r\n\r\n          // 立即设置尺寸和位置\r\n          popupEl.style.width = this._width + \"px\";\r\n          popupEl.style.height = this._height + \"px\";\r\n          popupEl.style.minWidth = this._width + \"px\";\r\n          popupEl.style.maxWidth = this._width + \"px\";\r\n          popupEl.style.minHeight = this._height + \"px\";\r\n          popupEl.style.maxHeight = this._height + \"px\";\r\n          popupEl.style.top = position.top;\r\n          popupEl.style.left = position.left;\r\n          popupEl.style.transform = `translate(${position.translateX}, ${position.translateY})`;\r\n\r\n          // 强制同步应用样式，确保位置已设置\r\n          popupEl.offsetHeight;\r\n\r\n          // 位置设置完成后，再显示弹窗（设置 positioning = no）\r\n          // 使用 requestAnimationFrame 确保样式已应用\r\n          requestAnimationFrame(() => {\r\n            this.positioning = \"no\";\r\n            this.ref.markForCheck();\r\n          });\r\n        }\r\n      };\r\n\r\n      // 如果元素已经存在，立即设置位置\r\n      if (this.popupElement && this.popupElement.nativeElement) {\r\n        setPosition();\r\n      } else {\r\n        // 如果元素还不存在，等待渲染后再设置位置\r\n        requestAnimationFrame(() => {\r\n          if (this.popupElement && this.popupElement.nativeElement) {\r\n            setPosition();\r\n          }\r\n        });\r\n      }\r\n    } else {\r\n      // 没有固定尺寸，需要等待DOM渲染\r\n      this.positioning = \"yes\";\r\n      this.ref.markForCheck();\r\n\r\n      // 立即强制更新视图，确保DOM已更新\r\n      this.ref.detectChanges();\r\n\r\n      // 使用 requestAnimationFrame 确保在浏览器渲染之前更新位置\r\n      requestAnimationFrame(() => {\r\n        // 确保元素已渲染并获取尺寸\r\n        if (this.popupElement && this.popupElement.nativeElement) {\r\n          // 强制重新计算布局，确保元素尺寸已计算\r\n          this.popupElement.nativeElement.offsetHeight;\r\n\r\n          // 计算并设置位置\r\n          this.updatePopupPosition();\r\n\r\n          // 位置设置完成后，移除定位状态，显示弹窗\r\n          this.positioning = \"no\";\r\n          this.ref.markForCheck();\r\n        }\r\n      });\r\n    }\r\n\r\n    window.addEventListener(\"click\", this.onClickOutside);\r\n    window.addEventListener(\"scroll\", this.onWindowScroll, true);\r\n  }\r\n\r\n  close() {\r\n    if (this.opened === \"no\") {\r\n      return;\r\n    }\r\n\r\n    this.opened = \"no\";\r\n    this.positioning = \"no\";\r\n    this.openChange.emit(false);\r\n    window.removeEventListener(\"click\", this.onClickOutside);\r\n    window.removeEventListener(\"scroll\", this.onWindowScroll, true);\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  toggle() {\r\n    if (this.opened === \"yes\") {\r\n      this.close();\r\n    } else {\r\n      this.open();\r\n    }\r\n  }\r\n\r\n  onClickTrigger(event: MouseEvent) {\r\n    event.stopPropagation();\r\n    this.toggle();\r\n  }\r\n\r\n  onClickOutside = (event: MouseEvent) => {\r\n    const target = event.target as Element;\r\n    const isClickOnTrigger =\r\n      this.currentTriggerElement && this.currentTriggerElement.contains(target);\r\n    const isClickOnPopup =\r\n      this.popupElement &&\r\n      this.popupElement.nativeElement &&\r\n      this.popupElement.nativeElement.contains(target);\r\n\r\n    if (!isClickOnTrigger && !isClickOnPopup) {\r\n      this.close();\r\n    }\r\n  };\r\n\r\n  onWindowScroll = (event: Event) => {\r\n    if (this.opened === \"yes\") {\r\n      // 检查滚动是否发生在弹窗内部\r\n      const target = event.target as Element;\r\n      const isScrollOnPopup =\r\n        this.popupElement &&\r\n        this.popupElement.nativeElement &&\r\n        this.popupElement.nativeElement.contains(target);\r\n\r\n      // 如果滚动发生在弹窗内部，不更新位置（避免不必要的计算）\r\n      // 如果滚动发生在外部，更新位置（因为触发元素位置可能改变）\r\n      if (!isScrollOnPopup) {\r\n        this.updatePopupPosition();\r\n      }\r\n    }\r\n  };\r\n\r\n  // 处理弹窗内部的滚轮事件\r\n  onPopupWheel(event: WheelEvent) {\r\n    // 阻止滚轮事件冒泡，避免触发外部滚动处理\r\n    event.stopPropagation();\r\n  }\r\n\r\n  // 处理弹窗内部的滚动事件\r\n  onPopupScroll(event: Event) {\r\n    // 阻止滚动事件冒泡，避免触发外部滚动处理\r\n    event.stopPropagation();\r\n  }\r\n\r\n  // 计算并设置位置（支持固定尺寸，可在打开前调用）\r\n  private calculateAndSetPosition() {\r\n    if (!this.currentTriggerElement) {\r\n      return;\r\n    }\r\n\r\n    const triggerRect = this.currentTriggerElement.getBoundingClientRect();\r\n    const viewportWidth = window.innerWidth;\r\n    const viewportHeight = window.innerHeight;\r\n\r\n    // 获取弹窗尺寸（优先使用固定尺寸）\r\n    const popupSize = {\r\n      width:\r\n        this._width !== null\r\n          ? this._width\r\n          : this.popupElement && this.popupElement.nativeElement\r\n          ? this.popupElement.nativeElement.offsetWidth\r\n          : 300,\r\n      height:\r\n        this._height !== null\r\n          ? this._height\r\n          : this.popupElement && this.popupElement.nativeElement\r\n          ? this.popupElement.nativeElement.offsetHeight\r\n          : 200,\r\n    };\r\n\r\n    // 创建虚拟的 popupRect（用于计算）\r\n    const popupRect: DOMRect = {\r\n      width: popupSize.width,\r\n      height: popupSize.height,\r\n      top: 0,\r\n      left: 0,\r\n      right: popupSize.width,\r\n      bottom: popupSize.height,\r\n      x: 0,\r\n      y: 0,\r\n      toJSON: () => ({}),\r\n    } as DOMRect;\r\n\r\n    // 获取目标位置信息\r\n    const targetInfo = this.placementInfo;\r\n    let finalPlacement = targetInfo.placement;\r\n    // 始终使用用户指定的 position，autoAdjust 只调整 placement（方向），不改变对齐方式\r\n    const finalPosition = targetInfo.position;\r\n\r\n    if (this.autoAdjust) {\r\n      const optimal = this.calculateOptimalPlacement(\r\n        triggerRect,\r\n        popupRect,\r\n        viewportWidth,\r\n        viewportHeight\r\n      );\r\n      // autoAdjust 只调整 placement（上下左右），保持用户指定的 position（对齐方式）\r\n      finalPlacement = optimal.placement;\r\n      // finalPosition 保持用户指定的值，不改变\r\n    }\r\n\r\n    this.actualPlacement = finalPlacement;\r\n    this.actualPosition = finalPosition;\r\n\r\n    // 立即设置位置（即使元素还没完全渲染，也要先设置位置）\r\n    if (this.popupElement && this.popupElement.nativeElement) {\r\n      this.setPopupPosition(\r\n        triggerRect,\r\n        popupRect,\r\n        finalPlacement,\r\n        finalPosition,\r\n        popupSize\r\n      );\r\n      // 强制应用样式，确保位置立即生效\r\n      this.ref.detectChanges();\r\n    } else {\r\n      // 如果元素还不存在，延迟设置位置\r\n      setTimeout(() => {\r\n        if (this.popupElement && this.popupElement.nativeElement) {\r\n          this.setPopupPosition(\r\n            triggerRect,\r\n            popupRect,\r\n            finalPlacement,\r\n            finalPosition,\r\n            popupSize\r\n          );\r\n          this.ref.detectChanges();\r\n        }\r\n      }, 0);\r\n    }\r\n\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  updatePopupPosition() {\r\n    if (\r\n      !this.currentTriggerElement ||\r\n      !this.popupElement ||\r\n      !this.popupElement.nativeElement\r\n    ) {\r\n      return;\r\n    }\r\n\r\n    // 如果提供了固定尺寸，使用固定尺寸计算\r\n    if (this._width !== null && this._height !== null) {\r\n      this.calculateAndSetPosition();\r\n      return;\r\n    }\r\n\r\n    const triggerRect = this.currentTriggerElement.getBoundingClientRect();\r\n    const popupRect = this.popupElement.nativeElement.getBoundingClientRect();\r\n    const viewportWidth = window.innerWidth;\r\n    const viewportHeight = window.innerHeight;\r\n\r\n    // 获取目标位置信息\r\n    const targetInfo = this.placementInfo;\r\n    let finalPlacement = targetInfo.placement;\r\n    // 始终使用用户指定的 position，autoAdjust 只调整 placement（方向），不改变对齐方式\r\n    const finalPosition = targetInfo.position;\r\n\r\n    if (this.autoAdjust) {\r\n      const optimal = this.calculateOptimalPlacement(\r\n        triggerRect,\r\n        popupRect,\r\n        viewportWidth,\r\n        viewportHeight\r\n      );\r\n      // autoAdjust 只调整 placement（上下左右），保持用户指定的 position（对齐方式）\r\n      finalPlacement = optimal.placement;\r\n      // finalPosition 保持用户指定的值，不改变\r\n    }\r\n\r\n    this.actualPlacement = finalPlacement;\r\n    this.actualPosition = finalPosition;\r\n    this.setPopupPosition(\r\n      triggerRect,\r\n      popupRect,\r\n      finalPlacement,\r\n      finalPosition\r\n    );\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  calculateOptimalPlacement(\r\n    triggerRect: DOMRect | ClientRect,\r\n    popupRect: DOMRect | ClientRect,\r\n    viewportWidth: number,\r\n    viewportHeight: number\r\n  ): {\r\n    placement: \"top\" | \"left\" | \"right\" | \"bottom\";\r\n    position: \"start\" | \"center\" | \"end\";\r\n  } {\r\n    const targetInfo = this.placementInfo;\r\n    const preferred = targetInfo.placement;\r\n    const preferredPosition = targetInfo.position;\r\n\r\n    const space = {\r\n      top: triggerRect.top,\r\n      bottom: viewportHeight - triggerRect.bottom,\r\n      left: triggerRect.left,\r\n      right: viewportWidth - triggerRect.right,\r\n    };\r\n\r\n    const popupSize = {\r\n      width: popupRect.width || 300, // 默认宽度，如果还没有渲染\r\n      height: popupRect.height || 200, // 默认高度\r\n    };\r\n\r\n    // 检查首选位置是否有足够空间\r\n    const hasEnoughSpace = (placement: \"top\" | \"left\" | \"right\" | \"bottom\") => {\r\n      switch (placement) {\r\n        case \"top\":\r\n          return space.top >= popupSize.height + this.offset;\r\n        case \"bottom\":\r\n          return space.bottom >= popupSize.height + this.offset;\r\n        case \"left\":\r\n          return space.left >= popupSize.width + this.offset;\r\n        case \"right\":\r\n          return space.right >= popupSize.width + this.offset;\r\n      }\r\n    };\r\n\r\n    // 检查指定位置是否有足够空间\r\n    const checkPositionSpace = (\r\n      placement: \"top\" | \"left\" | \"right\" | \"bottom\",\r\n      position: \"start\" | \"center\" | \"end\"\r\n    ): boolean => {\r\n      if (placement === \"top\" || placement === \"bottom\") {\r\n        // 对于上下位置，检查水平对齐空间\r\n        const popupWidth = popupSize.width;\r\n        const spaceLeft = triggerRect.left;\r\n        const spaceRight = viewportWidth - triggerRect.right;\r\n\r\n        if (position === \"center\") {\r\n          return spaceLeft >= popupWidth / 2 && spaceRight >= popupWidth / 2;\r\n        } else if (position === \"start\") {\r\n          return spaceLeft >= popupWidth;\r\n        } else {\r\n          // end\r\n          return spaceRight >= popupWidth;\r\n        }\r\n      } else {\r\n        // 对于左右位置，检查垂直对齐空间\r\n        const popupHeight = popupSize.height;\r\n        const spaceTop = triggerRect.top;\r\n        const spaceBottom = viewportHeight - triggerRect.bottom;\r\n\r\n        if (position === \"center\") {\r\n          return spaceTop >= popupHeight / 2 && spaceBottom >= popupHeight / 2;\r\n        } else if (position === \"start\") {\r\n          return spaceTop >= popupHeight;\r\n        } else {\r\n          // end\r\n          return spaceBottom >= popupHeight;\r\n        }\r\n      }\r\n    };\r\n\r\n    // 计算位置是否合适（考虑水平/垂直对齐）\r\n    const calculatePosition = (\r\n      placement: \"top\" | \"left\" | \"right\" | \"bottom\"\r\n    ): \"start\" | \"center\" | \"end\" => {\r\n      if (placement === \"top\" || placement === \"bottom\") {\r\n        // 对于上下位置，检查水平对齐\r\n        const popupWidth = popupSize.width;\r\n        const spaceLeft = triggerRect.left;\r\n        const spaceRight = viewportWidth - triggerRect.right;\r\n\r\n        // 优先尝试使用用户指定的position\r\n        if (checkPositionSpace(placement, preferredPosition)) {\r\n          return preferredPosition;\r\n        }\r\n\r\n        // 如果中心对齐有足够空间，优先使用中心\r\n        if (spaceLeft >= popupWidth / 2 && spaceRight >= popupWidth / 2) {\r\n          return \"center\";\r\n        }\r\n        // 如果左侧空间不足，使用右对齐\r\n        if (spaceLeft < popupWidth / 2) {\r\n          return \"end\";\r\n        }\r\n        // 如果右侧空间不足，使用左对齐\r\n        if (spaceRight < popupWidth / 2) {\r\n          return \"start\";\r\n        }\r\n        return preferredPosition;\r\n      } else {\r\n        // 对于左右位置，检查垂直对齐\r\n        const popupHeight = popupSize.height;\r\n        const spaceTop = triggerRect.top;\r\n        const spaceBottom = viewportHeight - triggerRect.bottom;\r\n\r\n        // 优先尝试使用用户指定的position\r\n        if (checkPositionSpace(placement, preferredPosition)) {\r\n          return preferredPosition;\r\n        }\r\n\r\n        // 如果中心对齐有足够空间，优先使用中心\r\n        if (spaceTop >= popupHeight / 2 && spaceBottom >= popupHeight / 2) {\r\n          return \"center\";\r\n        }\r\n        // 如果上方空间不足，使用下对齐\r\n        if (spaceTop < popupHeight / 2) {\r\n          return \"end\";\r\n        }\r\n        // 如果下方空间不足，使用上对齐\r\n        if (spaceBottom < popupHeight / 2) {\r\n          return \"start\";\r\n        }\r\n        return preferredPosition;\r\n      }\r\n    };\r\n\r\n    // 如果首选位置有足够空间，优先使用用户指定的position\r\n    if (hasEnoughSpace(preferred)) {\r\n      // 即使指定的position空间不足，也尽量保持用户指定的position\r\n      // 边界约束逻辑会在 calculatePositionCoordinates 中处理位置调整\r\n      // 这样可以保持用户期望的对齐方式\r\n      return {\r\n        placement: preferred,\r\n        position: preferredPosition,\r\n      };\r\n    }\r\n\r\n    // 根据首选位置选择备选位置\r\n    const alternatives: {\r\n      [key: string]: (\"top\" | \"left\" | \"right\" | \"bottom\")[];\r\n    } = {\r\n      bottom: [\"top\", \"right\", \"left\"],\r\n      top: [\"bottom\", \"right\", \"left\"],\r\n      right: [\"left\", \"bottom\", \"top\"],\r\n      left: [\"right\", \"bottom\", \"top\"],\r\n    };\r\n\r\n    const altList = alternatives[preferred] || [];\r\n\r\n    // 尝试找到第一个有足够空间的备选位置\r\n    for (const alt of altList) {\r\n      if (hasEnoughSpace(alt)) {\r\n        return {\r\n          placement: alt,\r\n          position: calculatePosition(alt),\r\n        };\r\n      }\r\n    }\r\n\r\n    // 如果都没有足够空间，选择空间最大的位置\r\n    const maxSpace = Math.max(space.top, space.bottom, space.left, space.right);\r\n    let bestPlacement: \"top\" | \"left\" | \"right\" | \"bottom\";\r\n    if (maxSpace === space.top) bestPlacement = \"top\";\r\n    else if (maxSpace === space.bottom) bestPlacement = \"bottom\";\r\n    else if (maxSpace === space.left) bestPlacement = \"left\";\r\n    else bestPlacement = \"right\";\r\n\r\n    return {\r\n      placement: bestPlacement,\r\n      position: calculatePosition(bestPlacement),\r\n    };\r\n  }\r\n\r\n  // 计算位置坐标（纯计算，不依赖DOM，包含边界约束）\r\n  // 注意：弹窗使用 position: fixed，所以坐标应该是相对于视口的，不需要加上滚动偏移\r\n  private calculatePositionCoordinates(\r\n    triggerRect: DOMRect | ClientRect,\r\n    placement: \"top\" | \"left\" | \"right\" | \"bottom\",\r\n    position: \"start\" | \"center\" | \"end\",\r\n    popupSize: { width: number; height: number }\r\n  ): { top: string; left: string; translateX: string; translateY: string } {\r\n    const triggerWidth = triggerRect.width;\r\n    const triggerHeight = triggerRect.height;\r\n    const viewportWidth = window.innerWidth;\r\n    const viewportHeight = window.innerHeight;\r\n\r\n    let top = 0;\r\n    let left = 0;\r\n    let translateX = \"0\";\r\n    let translateY = \"0\";\r\n\r\n    switch (placement) {\r\n      case \"top\":\r\n        // 弹窗在触发元素上方\r\n        top = triggerRect.top - this.offset;\r\n        translateY = \"-100%\";\r\n        if (position === \"start\") {\r\n          // 左对齐\r\n          left = triggerRect.left;\r\n          translateX = \"0\";\r\n        } else if (position === \"center\") {\r\n          // 居中对齐\r\n          left = triggerRect.left + triggerWidth / 2;\r\n          translateX = \"-50%\";\r\n        } else {\r\n          // 右对齐（end）\r\n          left = triggerRect.right;\r\n          translateX = \"-100%\";\r\n        }\r\n        // 边界约束：确保弹窗不超出视口\r\n        const popupTop = top - popupSize.height;\r\n        if (popupTop < 0) {\r\n          top = popupSize.height + 8; // 距离顶部至少8px\r\n          translateY = \"0\"; // 取消向上偏移\r\n        }\r\n        // 水平边界约束：尽量保持原始对齐方式\r\n        if (position === \"start\") {\r\n          // 左对齐：如果超出右边界，调整到右边界；如果超出左边界，调整到左边界\r\n          if (left + popupSize.width > viewportWidth) {\r\n            left = viewportWidth - popupSize.width - 8;\r\n          }\r\n          if (left < 8) {\r\n            left = 8;\r\n          }\r\n        } else if (position === \"center\") {\r\n          // 居中对齐：计算实际左边界\r\n          const actualLeft = left - popupSize.width / 2;\r\n          if (actualLeft < 8) {\r\n            // 左边界不足，尽量保持居中，但调整到不超出左边界\r\n            left = 8 + popupSize.width / 2;\r\n            translateX = \"-50%\";\r\n          } else if (actualLeft + popupSize.width > viewportWidth - 8) {\r\n            // 右边界不足，尽量保持居中，但调整到不超出右边界\r\n            left = viewportWidth - 8 - popupSize.width / 2;\r\n            translateX = \"-50%\";\r\n          }\r\n        } else {\r\n          // 右对齐（end）：弹窗右边缘与触发元素右边缘对齐\r\n          // left 是弹窗的右边缘位置（因为 translateX = \"-100%\"）\r\n          // 弹窗的左边缘在 left - popupSize.width\r\n          const popupLeftEdge = left - popupSize.width;\r\n          \r\n          // 如果弹窗左边缘超出左边界，调整位置但保持右对齐\r\n          if (popupLeftEdge < 8) {\r\n            left = 8 + popupSize.width;\r\n            translateX = \"-100%\";\r\n          }\r\n          // 如果弹窗右边缘超出右边界，调整位置但保持右对齐\r\n          if (left > viewportWidth - 8) {\r\n            left = viewportWidth - 8;\r\n            translateX = \"-100%\";\r\n          }\r\n        }\r\n        break;\r\n\r\n      case \"bottom\":\r\n        // 弹窗在触发元素下方\r\n        top = triggerRect.bottom + this.offset;\r\n        if (position === \"start\") {\r\n          // 左对齐\r\n          left = triggerRect.left;\r\n          translateX = \"0\";\r\n        } else if (position === \"center\") {\r\n          // 居中对齐\r\n          left = triggerRect.left + triggerWidth / 2;\r\n          translateX = \"-50%\";\r\n        } else {\r\n          // 右对齐（end）\r\n          left = triggerRect.right;\r\n          translateX = \"-100%\";\r\n        }\r\n        // 边界约束：确保弹窗不超出视口\r\n        if (top + popupSize.height > viewportHeight) {\r\n          top = viewportHeight - popupSize.height - 8; // 距离底部至少8px\r\n        }\r\n        // 水平边界约束：尽量保持原始对齐方式\r\n        if (position === \"start\") {\r\n          // 左对齐：如果超出右边界，调整到右边界；如果超出左边界，调整到左边界\r\n          if (left + popupSize.width > viewportWidth) {\r\n            left = viewportWidth - popupSize.width - 8;\r\n          }\r\n          if (left < 8) {\r\n            left = 8;\r\n          }\r\n        } else if (position === \"center\") {\r\n          // 居中对齐：计算实际左边界\r\n          const actualLeft = left - popupSize.width / 2;\r\n          if (actualLeft < 8) {\r\n            // 左边界不足，尽量保持居中，但调整到不超出左边界\r\n            left = 8 + popupSize.width / 2;\r\n            translateX = \"-50%\";\r\n          } else if (actualLeft + popupSize.width > viewportWidth - 8) {\r\n            // 右边界不足，尽量保持居中，但调整到不超出右边界\r\n            left = viewportWidth - 8 - popupSize.width / 2;\r\n            translateX = \"-50%\";\r\n          }\r\n        } else {\r\n          // 右对齐（end）：弹窗右边缘与触发元素右边缘对齐\r\n          // left 是弹窗的右边缘位置（因为 translateX = \"-100%\"）\r\n          // 弹窗的左边缘在 left - popupSize.width\r\n          const popupLeftEdge = left - popupSize.width;\r\n          \r\n          // 优先保持与触发元素右对齐，只在必要时调整\r\n          // 如果弹窗右边缘超出右边界，调整位置但保持右对齐\r\n          if (left > viewportWidth - 8) {\r\n            left = viewportWidth - 8;\r\n            translateX = \"-100%\";\r\n          }\r\n          // 如果弹窗左边缘超出左边界，且弹窗可以完全显示在视口内，才调整位置\r\n          // 这样可以确保在可能的情况下，弹窗始终与触发元素右对齐\r\n          if (popupLeftEdge < 8 && popupSize.width < viewportWidth - 16) {\r\n            // 只有当弹窗可以完全显示在视口内时，才调整位置\r\n            // 否则保持与触发元素右对齐，即使部分超出左边界\r\n            left = 8 + popupSize.width;\r\n            translateX = \"-100%\";\r\n          }\r\n        }\r\n        break;\r\n\r\n      case \"left\":\r\n        // 弹窗在触发元素左侧\r\n        left = triggerRect.left - this.offset;\r\n        translateX = \"-100%\";\r\n        if (position === \"start\") {\r\n          // 上对齐\r\n          top = triggerRect.top;\r\n          translateY = \"0\";\r\n        } else if (position === \"center\") {\r\n          // 居中对齐\r\n          top = triggerRect.top + triggerHeight / 2;\r\n          translateY = \"-50%\";\r\n        } else {\r\n          // 下对齐（end）\r\n          top = triggerRect.bottom;\r\n          translateY = \"-100%\";\r\n        }\r\n        // 边界约束：确保弹窗不超出视口\r\n        const popupLeftSide = left - popupSize.width;\r\n        if (popupLeftSide < 0) {\r\n          left = 8; // 距离左侧至少8px\r\n          translateX = \"0\"; // 取消向左偏移\r\n        }\r\n        // 垂直边界约束：尽量保持原始对齐方式\r\n        if (position === \"start\") {\r\n          // 上对齐：如果超出下边界，调整到下边界；如果超出上边界，调整到上边界\r\n          if (top + popupSize.height > viewportHeight) {\r\n            top = viewportHeight - popupSize.height - 8;\r\n          }\r\n          if (top < 8) {\r\n            top = 8;\r\n          }\r\n        } else if (position === \"center\") {\r\n          // 居中对齐：计算实际上边界\r\n          const actualTop = top - popupSize.height / 2;\r\n          if (actualTop < 8) {\r\n            // 上边界不足，尽量保持居中，但调整到不超出上边界\r\n            top = 8 + popupSize.height / 2;\r\n            translateY = \"-50%\";\r\n          } else if (actualTop + popupSize.height > viewportHeight - 8) {\r\n            // 下边界不足，尽量保持居中，但调整到不超出下边界\r\n            top = viewportHeight - 8 - popupSize.height / 2;\r\n            translateY = \"-50%\";\r\n          }\r\n        } else {\r\n          // 下对齐（end）：如果超出上边界，调整到上边界；如果超出下边界，调整到下边界\r\n          const actualTop = top - popupSize.height;\r\n          if (actualTop < 8) {\r\n            top = 8 + popupSize.height;\r\n            translateY = \"-100%\";\r\n          }\r\n          if (top > viewportHeight - 8) {\r\n            top = viewportHeight - 8;\r\n            translateY = \"-100%\";\r\n          }\r\n        }\r\n        break;\r\n\r\n      case \"right\":\r\n        // 弹窗在触发元素右侧\r\n        left = triggerRect.right + this.offset;\r\n        translateX = \"0\";\r\n        if (position === \"start\") {\r\n          // 上对齐\r\n          top = triggerRect.top;\r\n          translateY = \"0\";\r\n        } else if (position === \"center\") {\r\n          // 居中对齐\r\n          top = triggerRect.top + triggerHeight / 2;\r\n          translateY = \"-50%\";\r\n        } else {\r\n          // 下对齐（end）\r\n          top = triggerRect.bottom;\r\n          translateY = \"-100%\";\r\n        }\r\n        // 边界约束：确保弹窗不超出视口\r\n        if (left + popupSize.width > viewportWidth) {\r\n          left = viewportWidth - popupSize.width - 8; // 距离右侧至少8px\r\n        }\r\n        // 垂直边界约束：尽量保持原始对齐方式\r\n        if (position === \"start\") {\r\n          // 上对齐：如果超出下边界，调整到下边界；如果超出上边界，调整到上边界\r\n          if (top + popupSize.height > viewportHeight) {\r\n            top = viewportHeight - popupSize.height - 8;\r\n          }\r\n          if (top < 8) {\r\n            top = 8;\r\n          }\r\n        } else if (position === \"center\") {\r\n          // 居中对齐：计算实际上边界\r\n          const actualTop = top - popupSize.height / 2;\r\n          if (actualTop < 8) {\r\n            // 上边界不足，尽量保持居中，但调整到不超出上边界\r\n            top = 8 + popupSize.height / 2;\r\n            translateY = \"-50%\";\r\n          } else if (actualTop + popupSize.height > viewportHeight - 8) {\r\n            // 下边界不足，尽量保持居中，但调整到不超出下边界\r\n            top = viewportHeight - 8 - popupSize.height / 2;\r\n            translateY = \"-50%\";\r\n          }\r\n        } else {\r\n          // 下对齐（end）：如果超出上边界，调整到上边界；如果超出下边界，调整到下边界\r\n          const actualTop = top - popupSize.height;\r\n          if (actualTop < 8) {\r\n            top = 8 + popupSize.height;\r\n            translateY = \"-100%\";\r\n          }\r\n          if (top > viewportHeight - 8) {\r\n            top = viewportHeight - 8;\r\n            translateY = \"-100%\";\r\n          }\r\n        }\r\n        break;\r\n    }\r\n\r\n    return {\r\n      top: top + \"px\",\r\n      left: left + \"px\",\r\n      translateX,\r\n      translateY,\r\n    };\r\n  }\r\n\r\n  setPopupPosition(\r\n    triggerRect: DOMRect | ClientRect,\r\n    popupRect: DOMRect | ClientRect,\r\n    placement: \"top\" | \"left\" | \"right\" | \"bottom\",\r\n    position: \"start\" | \"center\" | \"end\",\r\n    popupSize?: { width: number; height: number }\r\n  ) {\r\n    const popupEl =\r\n      this.popupElement && this.popupElement.nativeElement\r\n        ? this.popupElement.nativeElement\r\n        : null;\r\n    if (!popupEl) {\r\n      return; // 如果元素还不存在，无法设置位置\r\n    }\r\n\r\n    // 优先使用传入的固定尺寸，否则从DOM获取\r\n    const popupWidth =\r\n      popupSize && popupSize.width !== null && popupSize.width !== undefined\r\n        ? popupSize.width\r\n        : popupRect.width || popupEl.offsetWidth || 300;\r\n    const popupHeight =\r\n      popupSize && popupSize.height !== null && popupSize.height !== undefined\r\n        ? popupSize.height\r\n        : popupRect.height || popupEl.offsetHeight || 200;\r\n\r\n    const coordinates = this.calculatePositionCoordinates(\r\n      triggerRect,\r\n      placement,\r\n      position,\r\n      { width: popupWidth, height: popupHeight }\r\n    );\r\n\r\n    popupEl.style.top = coordinates.top;\r\n    popupEl.style.left = coordinates.left;\r\n    popupEl.style.transform = `translate(${coordinates.translateX}, ${coordinates.translateY})`;\r\n  }\r\n\r\n  @HostListener(\"window:resize\")\r\n  onWindowResize() {\r\n    if (this.opened === \"yes\") {\r\n      this.updatePopupPosition();\r\n    }\r\n  }\r\n}\r\n","<!-- 触发元素插槽 -->\r\n<ng-container #trigger>\r\n  <ng-content select=\"[trigger]\"></ng-content>\r\n</ng-container>\r\n\r\n<!-- 弹窗内容 -->\r\n<div\r\n  #popup\r\n  class=\"rs-smart-popup-content\"\r\n  [attr.data-opened]=\"opened\"\r\n  [attr.data-positioning]=\"positioning\"\r\n  (wheel)=\"onPopupWheel($event)\"\r\n  (scroll)=\"onPopupScroll($event)\"\r\n>\r\n  <div *ngIf=\"loading\" class=\"rs-smart-popup-loading\">\r\n    <div class=\"loading-spinner\"></div>\r\n  </div>\r\n  <div *ngIf=\"!loading\" class=\"rs-smart-popup-body\">\r\n    <ng-content></ng-content>\r\n  </div>\r\n</div>\r\n\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const PBF_TOKEN = new InjectionToken('PBF_TOKEN');\r\nexport const API_SERVICE_TOKEN = new InjectionToken('API_SERVICE_TOKEN');\r\nexport const ROLE_SERVICE_TOKEN = new InjectionToken('ROLE_SERVICE_TOKEN');\r\n\r\n","export function getTranslation() {\r\n  try {\r\n    const translationStr =\r\n      localStorage.getItem(\"translation\") ||\r\n      localStorage.getItem(\"IP-translation\");\r\n    if (\r\n      translationStr &&\r\n      translationStr !== \"null\" &&\r\n      translationStr !== \"undefined\"\r\n    ) {\r\n      const translation = JSON.parse(translationStr);\r\n      // 注意：typeof null === 'object'，所以需要额外检查 translation !== null\r\n      if (translation !== null && typeof translation === \"object\") {\r\n        return translation;\r\n      }\r\n    }\r\n  } catch (e) {\r\n    console.warn(\"Failed to parse IP-translation from localStorage:\", e);\r\n  }\r\n  // 返回空对象，在模板中使用 translation?.KEY || '.KEY' 格式访问\r\n  // 不使用 Proxy 以确保 iPad Safari 兼容性\r\n  return {};\r\n}\r\n","import { OnInit, Injectable, OnDestroy } from \"@angular/core\";\r\nimport { Subject, Observable, BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class DashboardService implements OnInit, OnDestroy {\r\n  public dashboard_sidebar: boolean = false;\r\n  public dashboardName = {};\r\n  public dashboardGroupId = {};\r\n  public dashboardGroupName = {};\r\n  public dashboardScrollTopMap = {};\r\n  public initTemplate;\r\n  public RegionDataSetId = {};\r\n  public dashboardDescription = {};\r\n  public pane_show: boolean = false;\r\n  public push_btn: boolean = false;\r\n  public customize = new Subject();\r\n  public dashboardRename = new Subject();\r\n  public paneData = new Subject();\r\n  public col_num = new Subject();\r\n  public alone_col = new Subject();\r\n  public full_dt = new Subject();\r\n  public chartTypeChange = new Subject();\r\n  public chartUpdate = new Subject();\r\n  public DashbordGroup = new Subject();\r\n  public portletEdit = new Subject();\r\n  public addOrdelPortlet = new Subject();\r\n  public switchLabelConfig = new Subject();\r\n  public refreshGadget = new Subject();\r\n  public startRefresh = new Subject();\r\n  public dashboardNavigate = new BehaviorSubject(false);\r\n  public DashboardGroupData = [];\r\n  public shareGroup = [];\r\n  public colorsTotal = [\r\n    \"#0b5496\",\r\n    \"#0081ff\",\r\n    \"#22cce2\",\r\n    \"#606ede\",\r\n    \"#8598f7\",\r\n    \"#00a744\",\r\n    \"#12c177\",\r\n    \"#fdbf5e\",\r\n    \"#ff8a48\",\r\n    \"#ea4258\",\r\n  ];\r\n  public create_btn = new Subject();\r\n  public downloadDashboard = new Subject();\r\n  public shareUsers = {};\r\n  // public irrDetail = new Subject();\r\n  public irrDetail: boolean = false;\r\n  public enter_dashboard: boolean = false;\r\n  public leftMenuBar = new Subject();\r\n  public createGroupDashboard = new Subject();\r\n  public create_status: boolean = false;\r\n  public reportName;\r\n  public reportSetting;\r\n  public reportId;\r\n  public sharedOrCustomize: boolean = false;\r\n  public report_view;\r\n  public reportMode;\r\n  public report_generate = new Subject();\r\n  public reportSubheaderMode = new Subject();\r\n  public getTableDatasource = new Subject();\r\n  public pvtableDisplayOptionChange = new Subject();\r\n  public pvtableDisplayOptionChartChange = new Subject();\r\n  public showLegendChange = new Subject();\r\n  public markerFormat = new Subject();\r\n  public setTheme = new Subject();\r\n  public enableMultipleAxisChange = new Subject();\r\n  public pvTableFilterChange = new Subject();\r\n\r\n  public routerInfo;\r\n  public fullScreen = [];\r\n  public downloadTableId;\r\n  public isNew: boolean = true;\r\n  // public chooseEntityStep = 1;\r\n  public companyList_entity = [];\r\n  public fundList_entity = [];\r\n  // public saveEntityFields = new Subject();\r\n  public pageLoading_ = new Subject();\r\n  public selectPortfolioData = [];\r\n  public toolbar: boolean = true;\r\n  public properties = new Subject();\r\n  public customized: boolean = false;\r\n  public tabactive: boolean = false;\r\n  public dataSendToFilter = new Subject();\r\n  public portletDownload = new Subject();\r\n  public tableFormat = new Subject();\r\n  public tableFilter = new Subject();\r\n  public changeDataTable = new Subject();\r\n  public changeTable = new Subject();\r\n  public changePivot = new Subject();\r\n  public changeChart = new Subject();\r\n  public changeGeo = new Subject();\r\n  public getFunsInvestee = new Subject();\r\n  public getAllInvesteeActive = new Subject();\r\n  public getDataMartActive = new Subject();\r\n  public fetchSidebar = new Subject();\r\n  public reset_btn = new Subject();\r\n  public changelayout = new Subject();\r\n  public clearSidebar = new Subject();\r\n  public tranposeFilter = new Subject();\r\n  public portletTitle = new Subject();\r\n  public updateDatamartEntity = new Subject();\r\n  public dataMartList = [];\r\n  public createDashboard = new Subject();\r\n  public createDashboardNew = new Subject();\r\n  public changeDashboardShared = new Subject();\r\n  public clearFieldList = new Subject();\r\n  public currentAddStatus = new BehaviorSubject<any>({ type: 0, id: \"\" });\r\n\r\n  constructor() {}\r\n\r\n  ngOnInit() {}\r\n\r\n  ngOnDestroy(): void {\r\n    this.currentAddStatus.complete();\r\n  }\r\n\r\n  changeAddStatus(obj: any): void {\r\n    this.currentAddStatus.next(obj);\r\n  }\r\n  public getAbs(val) {\r\n    return Math.abs(val);\r\n  }\r\n  public dataExists(val) {\r\n    return !(val === null || val === undefined);\r\n  }\r\n  public getColor(i) {\r\n    const idx = i % this.colorsTotal.length;\r\n    return this.colorsTotal[idx];\r\n  }\r\n  public getColorFromColorArr(i, arr) {\r\n    const idx = i % arr.length;\r\n    return arr[idx];\r\n  }\r\n\r\n  getPanesData(): Observable<any> {\r\n    return this.paneData.asObservable();\r\n  }\r\n  getStartRefresh() {\r\n    return this.startRefresh.asObservable();\r\n  }\r\n  getSwitchConfig() {\r\n    return this.switchLabelConfig.asObservable();\r\n  }\r\n  getColNum(): Observable<any> {\r\n    return this.col_num.asObservable();\r\n  }\r\n  getAloneCol(): Observable<any> {\r\n    return this.alone_col.asObservable();\r\n  }\r\n  getFull_dt(): Observable<any> {\r\n    return this.full_dt.asObservable();\r\n  }\r\n  getDashbordGroup(): Observable<any> {\r\n    return this.DashbordGroup.asObservable();\r\n  }\r\n  getportletEdit(): Observable<any> {\r\n    return this.portletEdit.asObservable();\r\n  }\r\n  getaddportlet(): Observable<any> {\r\n    return this.addOrdelPortlet.asObservable();\r\n  }\r\n  getCustomizeStatus(): Observable<any> {\r\n    return this.customize.asObservable();\r\n  }\r\n  getPushbtn(): Observable<any> {\r\n    return this.create_btn.asObservable();\r\n  }\r\n  getDownloadDashbord(): Observable<any> {\r\n    return this.downloadDashboard.asObservable();\r\n  }\r\n  // getIrrDetail(): Observable<any> {\r\n  //     return this.irrDetail.asObservable();\r\n  // }\r\n  getLeftMenuBar(): Observable<any> {\r\n    return this.leftMenuBar.asObservable();\r\n  }\r\n  createGroup(): Observable<any> {\r\n    return this.createGroupDashboard.asObservable();\r\n  }\r\n  getRefreshGadget() {\r\n    return this.refreshGadget.asObservable();\r\n  }\r\n\r\n  getGenerateStatus(): Observable<any> {\r\n    return this.report_generate.asObservable();\r\n  }\r\n  changeSubheaderMode(): Observable<any> {\r\n    return this.reportSubheaderMode.asObservable();\r\n  }\r\n  getTablesource(): Observable<any> {\r\n    return this.getTableDatasource.asObservable();\r\n  }\r\n  // saveEntityFields_(): Observable<any> {\r\n  //     return this.saveEntityFields.asObservable();\r\n  // }\r\n  pageLoading_obs(): Observable<any> {\r\n    return this.pageLoading_.asObservable();\r\n  }\r\n  getPvtableDisplayOptionChartChange(): Observable<any> {\r\n    return this.pvtableDisplayOptionChartChange.asObservable();\r\n  }\r\n  getEnableMultipleAxisChange(): Observable<any> {\r\n    return this.enableMultipleAxisChange.asObservable();\r\n  }\r\n  getPvTableFilterChange(): Observable<any> {\r\n    return this.pvTableFilterChange.asObservable();\r\n  }\r\n  getShowLegendChange(): Observable<any> {\r\n    return this.showLegendChange.asObservable();\r\n  }\r\n  getMarkerFormat(): Observable<any> {\r\n    return this.markerFormat.asObservable();\r\n  }\r\n  getTheme(): Observable<any> {\r\n    return this.setTheme.asObservable();\r\n  }\r\n  editProperties(): Observable<any> {\r\n    return this.properties.asObservable();\r\n  }\r\n  getDataSendToFilter(): Observable<any> {\r\n    return this.dataSendToFilter.asObservable();\r\n  }\r\n  getportletDownload(): Observable<any> {\r\n    return this.portletDownload.asObservable();\r\n  }\r\n  getTableFormat(): Observable<any> {\r\n    return this.tableFormat.asObservable();\r\n  }\r\n  getTableFilter(): Observable<any> {\r\n    return this.tableFilter.asObservable();\r\n  }\r\n  getchangeDataTable(): Observable<any> {\r\n    return this.changeDataTable.asObservable();\r\n  }\r\n  getDashboardRename(): Observable<any> {\r\n    return this.dashboardRename.asObservable();\r\n  }\r\n  getchangeTable(): Observable<any> {\r\n    return this.changeTable.asObservable();\r\n  }\r\n  getchangePivot(): Observable<any> {\r\n    return this.changePivot.asObservable();\r\n  }\r\n  getchangeChart(): Observable<any> {\r\n    return this.changeChart.asObservable();\r\n  }\r\n  getchangeGeo(): Observable<any> {\r\n    return this.changeGeo.asObservable();\r\n  }\r\n  getTagsUpdate(): Observable<any> {\r\n    return this.getFunsInvestee.asObservable();\r\n  }\r\n  getAllInvestee_(): Observable<any> {\r\n    return this.getAllInvesteeActive.asObservable();\r\n  }\r\n  getDataMartActive_(): Observable<any> {\r\n    return this.getDataMartActive.asObservable();\r\n  }\r\n  getResetbtn(): Observable<any> {\r\n    return this.reset_btn.asObservable();\r\n  }\r\n  getchangelayout(): Observable<any> {\r\n    return this.changelayout.asObservable();\r\n  }\r\n  getclearSidebar(): Observable<any> {\r\n    return this.clearSidebar.asObservable();\r\n  }\r\n  watchTranposeFilter(): Observable<any> {\r\n    return this.tranposeFilter.asObservable();\r\n  }\r\n  updatePortletTitle(): Observable<any> {\r\n    return this.portletTitle.asObservable();\r\n  }\r\n\r\n  watchUpdateDatamartEntity(): Observable<any> {\r\n    return this.updateDatamartEntity.asObservable();\r\n  }\r\n  createDashboardObservable(): Observable<any> {\r\n    return this.createDashboard.asObservable();\r\n  }\r\n  createDashboardObservableNew(): Observable<any> {\r\n    return this.createDashboardNew.asObservable();\r\n  }\r\n\r\n  changeDashboardSharedObservable(): Observable<any> {\r\n    return this.changeDashboardShared.asObservable();\r\n  }\r\n  clearFieldListObservable(): Observable<any> {\r\n    return this.clearFieldList.asObservable();\r\n  }\r\n\r\n  getUpdated(): Observable<any> {\r\n    return this.chartUpdate.asObservable();\r\n  }\r\n\r\n  dashboardNavigateObservable() {\r\n    return this.dashboardNavigate.asObservable();\r\n  }\r\n\r\n  getChartTypeChange(): Observable<any> {\r\n    return this.chartTypeChange.asObservable();\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class ApiList {\r\n  baseurl: any = \"/api/\";\r\n  public urlList = {\r\n    GetSchema: \"ws/DatamartWS/GetSchema\",\r\n    GetPortletDataV2: \"ws/DatamartWS/GetPortletDataV2\",\r\n    GetDashboardV2: \"dashboard/GetDashboardV2\",\r\n    SaveDashboardPortlets: \"dashboard/SaveDashboardPortlets\",\r\n    GetPropertyList: \"ws/CommonWS.asmx/GetPropertyList\",\r\n    // LPGetPropertyList: \"ws/LPCommonWS.asmx/GetPropertyList\",\r\n    GetDistinctColumnValsByPortletDataParam:\r\n      \"ws/DatamartWS/GetDistinctColumnValsByPortletDataParam\",\r\n    FileGet: \"ws/FileGet.ashx\",\r\n    GetSources: \"dashboard/GetSources\",\r\n    AddDataMartTables: \"dashboard/AddDataMartTables\",\r\n    // GetPortletDataOrCreate: \"ws/DatamartWS/GetPortletDataOrCreate\",\r\n    GetPortletDataOrCreate: \"dashboard/GetPortletDataOrCreate\",\r\n    GetAllCompanyByAccount: \"ws/CompanyWS.asmx/GetAllCompanyByAccount\", // 获取公司列表（所有数据）\r\n    GetDropdown: \"ws/CommonWS.asmx/GetDropdown\", // 获取下拉菜单\r\n    GetFinancialItems: \"ws/DashboardWS.asmx/GetFinancialItems\",\r\n    GetFundListByInvestorId: \"ws/FundWS.asmx/GetFundListByInvestorId\",\r\n    GetAllInvestee: \"ws/DashboardWS.asmx/GetAllInvestee\",\r\n    GetDashboardGroup: \"dashboard/GetDashboardGroup\",\r\n    GetPropertyOptions: \"ws/CommonWS.asmx/GetPropertyOptions\",\r\n    GetAllUsersByAccount: \"ws/UserWS.asmx/GetAllUsersByAccount\",\r\n    ShareNewDashboard: \"ws/DashboardWS.asmx/ShareNewDashboard\",\r\n    ShareNewDashboardReport: \"ws/DashboardWS.asmx/ShareNewDashboardReport\",\r\n    UpdateDashboard: \"ws/DashboardWS.asmx/UpdateDashboard\",\r\n  };\r\n}\r\n","import { Inject, Injectable, Optional } from \"@angular/core\";\r\nimport { ApiList } from \"./api\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { DashboardService } from \"./dashboard.service\";\r\nimport { forEach } from \"lodash\";\r\nimport moment from \"moment\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { API_SERVICE_TOKEN, PBF_TOKEN } from \"../service/InjectionToken\";\r\nimport { DialogService } from \"../service/dialog.service\";\r\nimport { getTranslation } from \"../utils/utils\";\r\n\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class DashboardPorletsService {\r\n  public translation;\r\n  private userInfo;\r\n  private lang;\r\n  // public config;\r\n  public companyDropdownList = [];\r\n  public currencyDropdownList = [];\r\n  public currencyList = [];\r\n  public portlets = [];\r\n  public portletsCopy = [];\r\n  public columnCount;\r\n  public rowCount;\r\n  public companyCharts = [];\r\n  public portletData;\r\n  public fundDropdownList;\r\n  public allInvesteeList;\r\n  public fundInvesteeList;\r\n  public seletedAllInvestee: boolean;\r\n  allDashboardList = {};\r\n  public colorsTotal = [\r\n    \"#0b5496\",\r\n    \"#0081ff\",\r\n    \"#22cce2\",\r\n    \"#606ede\",\r\n    \"#8598f7\",\r\n    \"#00a744\",\r\n    \"#12c177\",\r\n    \"#fdbf5e\",\r\n    \"#ff8a48\",\r\n    \"#ea4258\",\r\n  ];\r\n  public fetch_disabled: boolean = true;\r\n  public update_loading: boolean = false;\r\n  public currencyCode;\r\n  public update_config;\r\n  public loading_show: boolean = false;\r\n  public img;\r\n  public sortingPortlet = [];\r\n  public pagingChanging = [];\r\n  public timeMeasure;\r\n  public entityList;\r\n  public entityType;\r\n  public selected_enyity_fileds = [];\r\n  public isEntitySelectAll;\r\n  public checkedAll: boolean = false;\r\n  public selectedNum;\r\n  public updated = false;\r\n  public dataMartTables = {};\r\n  public length = 0;\r\n  public GetSourcesRes;\r\n  public ListEntitiesRes;\r\n  public templateList = [];\r\n  public fieldsArr = {};\r\n  public sourcesData = {};\r\n  // newDashboard\r\n  public portletResults_New = {}; // 以DataTable为单位 存储新数据\r\n  public portletData_New = {}; // 以portlet为单位 存储新数据\r\n  public portletFields_Temp = {}; // 存储当前portlet所用到的字段\r\n  public dashboardConfig: any = {}; // 当前Dashboard的config, 用于获取orderByColumns\r\n  public entityIds: any = [];\r\n  public entityIdObj: any = {};\r\n  public allFieldsObj = {};\r\n\r\n  constructor(\r\n    private api: ApiList,\r\n    public dialog: MatDialog,\r\n    private dialogService: DialogService,\r\n    private DashboardService: DashboardService,\r\n    private httpClient: HttpClient,\r\n    @Optional() @Inject(PBF_TOKEN) private pbf: any,\r\n    @Optional() @Inject(API_SERVICE_TOKEN) private http: any\r\n  ) {}\r\n\r\n  private setEntityType(res) {\r\n    if (res && res.entityList && res.entityList.length) {\r\n      const entityData = res.entityList[0];\r\n      if (!entityData) {\r\n        return res;\r\n      }\r\n      const { linkedType = \"\" } = entityData;\r\n      if (!linkedType) {\r\n        return res;\r\n      }\r\n      this.entityType =\r\n        linkedType === \"accounting\"\r\n          ? \"Accounting\"\r\n          : linkedType === \"PropertyId\"\r\n          ? \"Property\"\r\n          : linkedType === \"portfolioCompId\" ||\r\n            linkedType === \"assetCompId\" ||\r\n            linkedType === \"otherCompId\"\r\n          ? \"Company\"\r\n          : linkedType === \"portfolioFundId\" || linkedType === \"assetFundId\"\r\n          ? \"Fund\"\r\n          : \"AssetPortfolio\";\r\n      res.entityType = this.entityType;\r\n    }\r\n    return res;\r\n  }\r\n\r\n  public GetDashboardV1(\r\n    dashboardId: string,\r\n    roGet,\r\n    callback: Function,\r\n    isRefresh = false,\r\n    callbackForDashboard?: Function,\r\n    allTable?: any[]\r\n  ) {\r\n    if (!isRefresh) {\r\n      this.portlets = [];\r\n    }\r\n    this.getInfo();\r\n    const dataObj = { dashboardId, language: this.lang };\r\n    this.http.post(this.api.urlList.GetDashboardV2, dataObj, (res) => {\r\n      if (!res) {\r\n        callback(null);\r\n        return;\r\n      }\r\n      if (allTable) {\r\n        this.sourcesData[res.id] = [...allTable];\r\n      }\r\n      res = this.setEntityType(res);\r\n      // 初始化fromDate\r\n      if (res.fromDate === \"1900-01-01T00:00:00Z\") {\r\n        res.fromDate = \"\";\r\n      }\r\n      if (callbackForDashboard) {\r\n        callbackForDashboard(res);\r\n      }\r\n      this.entityIds =\r\n        res.entityList && res.entityList.length > 0\r\n          ? res.entityList.map((e) => {\r\n              return e[\"linkedGuid\"];\r\n            })\r\n          : [];\r\n      if (res.entityList) this.entityList = [...res.entityList];\r\n      this.entityIdObj = {\r\n        id: JSON.stringify(this.entityIds),\r\n      };\r\n      this.portletResults_New[res.id] = {};\r\n      this.portletData_New[res.id] = {};\r\n      this.DashboardService.dashboardGroupId[res.id] = res.dashboardGroupId;\r\n      this.DashboardService.dashboardGroupName[res.id] = res.dashboardGroupName;\r\n      this.DashboardService.RegionDataSetId[res.id] = res.RegionDataSetId;\r\n      this.DashboardService.dashboardName[res.id] = res.name;\r\n      this.DashboardService.shareUsers[res.id] = res.sharedUsers;\r\n      this.dashboardConfig[res.id] = res.config && JSON.parse(res.config);\r\n      if (res) {\r\n        this.dataMartTables[res.id] = [...res.dataMartTables];\r\n        this.sortDataMartTables(this.dataMartTables[res.id]);\r\n        this.DashboardService.dashboardDescription = res.description;\r\n        this.img = res.img;\r\n        // 如果可选开始日期，屏蔽默认的1900-01-01\r\n        this.currencyCode = res.currencyCode;\r\n        //@ts-ignore\r\n        this.columnCount = res.columnCount ? res.columnCount : 4;\r\n        if (res.portlets) {\r\n          if (!isRefresh) {\r\n            this.portlets = JSON.parse(JSON.stringify(res.portlets));\r\n          }\r\n          this.rowCount =\r\n            res.portlets.length > 0\r\n              ? Math.max.apply(\r\n                  Math,\r\n                  res.portlets.map(function (o) {\r\n                    return o.posY;\r\n                  })\r\n                ) + 2\r\n              : 2;\r\n\r\n          // new Dashboard\r\n          if (this.portlets && this.portlets.length) {\r\n            this.fieldsArr[res.id] = {};\r\n            this.portlets.forEach((el) => {\r\n              if (\r\n                !Object.keys(this.fieldsArr[res.id]).includes(el.figureCode)\r\n              ) {\r\n                this.fieldsArr[res.id][el.figureCode] = JSON.parse(\r\n                  el.config\r\n                ).fields;\r\n              }\r\n            });\r\n\r\n            this.portlets = this.portlets.filter((item) => item.figureCode);\r\n            this.getDataByPortletsNew(\r\n              this.portlets,\r\n              (_res) => {\r\n                callback(res, this.portlets);\r\n              },\r\n              null,\r\n              isRefresh,\r\n              res,\r\n              roGet\r\n            );\r\n          } else {\r\n            callback(res, this.portlets);\r\n          }\r\n        } else {\r\n          this.portlets = [];\r\n          this.columnCount = 4;\r\n          this.rowCount = 2;\r\n          callback(res, this.portlets);\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  public filterTriggerGetData(portlet, filterSettings, dashboard, callback) {\r\n    const config = portlet.config && JSON.parse(portlet.config);\r\n    let id =\r\n      portlet.id === \"00000000-0000-0000-0000-000000000000\"\r\n        ? portlet.newId\r\n        : portlet.id;\r\n    let params = this.getParamsByPortlet(portlet, null, null, dashboard);\r\n    let initFieldsArr;\r\n    let curFieldsArr;\r\n    if (!params.isTable) {\r\n      // 赋值portletFields_Temp\r\n      initFieldsArr = this.portletFields_Temp[id];\r\n      curFieldsArr = params.displayColumnFilter.split(\",\");\r\n      if (\r\n        !initFieldsArr ||\r\n        this.needGetPortletData(initFieldsArr, curFieldsArr)\r\n      ) {\r\n        this.portletFields_Temp[id] = curFieldsArr;\r\n      }\r\n    }\r\n    if (filterSettings && filterSettings.length) {\r\n      if (!params.columnFilter) {\r\n        params.columnFilter = [];\r\n      }\r\n      config.filterSettings = filterSettings;\r\n\r\n      filterSettings.forEach((setting) => {\r\n        if (config.portletType === \"pivot\") {\r\n          this.DashboardService.pvTableFilterChange.next(portlet.newId);\r\n          return;\r\n        }\r\n        const _field = config.fields.find(\r\n          (item) => item.colName === setting.name\r\n        );\r\n        const Type = _field && _field.dataType;\r\n        if (setting.items) {\r\n          setting.items.forEach((item) => {\r\n            params.columnFilter.push({\r\n              Field: setting.name,\r\n              Operator: \"equal\",\r\n              Type,\r\n              Value:\r\n                Type === \"date\"\r\n                  ? moment(item).format(\"yyyy-MM-DD\")\r\n                  : Type === \"datetime\"\r\n                  ? moment(item).format(\"yyyy-MM-DD hh:mm:ss\")\r\n                  : item,\r\n            });\r\n          });\r\n        } else if (setting.operator) {\r\n          params.columnFilter.push({\r\n            Field: setting.field,\r\n            Operator: \"equal\",\r\n            Type: setting.type,\r\n            Value:\r\n              setting.type === \"date\"\r\n                ? moment(setting.value).format(\"yyyy-MM-DD\")\r\n                : setting.type === \"datetime\"\r\n                ? moment(setting.value).format(\"yyyy-MM-DD hh:mm:ss\")\r\n                : setting.value,\r\n          });\r\n        }\r\n      });\r\n    } else {\r\n      config.filterSettings = [];\r\n    }\r\n    if (params.columnFilter instanceof Array) {\r\n      params.columnFilter = params.columnFilter.filter((item) => item.Field);\r\n    }\r\n    // json buffer\r\n    params[\"dashboardVersion\"] = 2;\r\n    // json buffer\r\n    this.httpClient\r\n      .post(this.api.baseurl + this.api.urlList.GetPortletDataOrCreate, params)\r\n      .subscribe((result) => {\r\n        result = this.pbf.formatResponse(result);\r\n        result[\"data\"].forEach((item) => {\r\n          item.Sector = this.translation[item.Sector] || item.Sector;\r\n        });\r\n        this.portletData_New[dashboard.id][id] = result;\r\n        this.pbf.triggerDashboardFilterChange.next({\r\n          id: dashboard.id,\r\n          newId: portlet.newId,\r\n        });\r\n        callback({ newId: portlet && portlet.newId, config });\r\n      });\r\n  }\r\n\r\n  public removeParentheses(str) {\r\n    return str.split(\"(\").join(\"\").split(\")\").join(\"\").split('\"').join(\"\");\r\n  }\r\n\r\n  public getInfo() {\r\n    this.translation = getTranslation();\r\n    this.userInfo = JSON.parse(localStorage.getItem(\"userInfo\"));\r\n    this.lang = this.pbf.getLanguageParams();\r\n    this.translation.DASHBOARD_ROLLING = this.translation.DASHBOARD_ROLLING\r\n      ? this.translation.DASHBOARD_ROLLING\r\n      : \"DASHBOARD_ROLLING\";\r\n  }\r\n\r\n  /*     Financial Analysis I      get select Dropdown */\r\n  public GetChartTypes() {\r\n    // Chart Type\r\n    return [\r\n      {\r\n        val: \"mscombi2d\",\r\n        displayVal: this.translation.SINGLEY2D,\r\n        hasSecondaryYAxis: false,\r\n        canSelectStyle: true,\r\n      },\r\n      {\r\n        val: \"mscombi3d\",\r\n        displayVal: this.translation.SINGLEY3D,\r\n        hasSecondaryYAxis: false,\r\n        canSelectStyle: true,\r\n      },\r\n      {\r\n        val: \"mscombidy2d\",\r\n        displayVal: this.translation.DUALY2D,\r\n        hasSecondaryYAxis: true,\r\n        canSelectStyle: true,\r\n      },\r\n      {\r\n        val: \"msbar2d\",\r\n        displayVal: this.translation.BAR2D,\r\n        hasSecondaryYAxis: false,\r\n        canSelectStyle: false,\r\n      },\r\n      {\r\n        val: \"msbar3d\",\r\n        displayVal: this.translation.BAR3D,\r\n        hasSecondaryYAxis: false,\r\n        canSelectStyle: false,\r\n      },\r\n      {\r\n        val: \"stackedcolumn2dline\",\r\n        displayVal: this.translation.STACKEDBAR2D,\r\n        hasSecondaryYAxis: false,\r\n        canSelectStyle: true,\r\n      },\r\n      {\r\n        val: \"stackedcolumn3dline\",\r\n        displayVal: this.translation.STACKEDBAR3D,\r\n        hasSecondaryYAxis: false,\r\n        canSelectStyle: true,\r\n      },\r\n    ];\r\n  }\r\n  public getCompanyDropdown() {\r\n    // company\r\n    let data = {\r\n      accountId: this.userInfo.accountId,\r\n      username: this.userInfo.username,\r\n      language: this.lang,\r\n      companyType: \"portfolio\",\r\n    };\r\n    this.http.post(this.api.urlList.GetAllCompanyByAccount, data, (res) => {\r\n      if (res) {\r\n        this.companyDropdownList = res;\r\n        // return res;\r\n      }\r\n    });\r\n  }\r\n  public getCurrencyDropdown() {\r\n    // Currency\r\n    let data = {\r\n      accountId: this.userInfo.accountId,\r\n      username: this.userInfo.username,\r\n      language: this.lang,\r\n      alias: \"Currency\",\r\n    };\r\n    this.http.post(this.api.urlList.GetDropdown, data, (res) => {\r\n      if (res) {\r\n        this.currencyDropdownList = res;\r\n        // return res;\r\n      }\r\n    });\r\n  }\r\n  public GetTimeMeasure() {\r\n    // Time Measure\r\n    return [\r\n      {\r\n        key: \"MTD\", // 月度\r\n        val: this.translation.MONTHLY,\r\n      },\r\n      {\r\n        key: \"QTD\", // 季度\r\n        val: this.translation.QUARTERLY,\r\n      },\r\n      {\r\n        key: \"SYTD\", // 半年度\r\n        val: this.translation.SEMIANNUALLY,\r\n      },\r\n      {\r\n        key: \"YTD\", // 年度\r\n        val: this.translation.ANNUALLY,\r\n      },\r\n      {\r\n        key: \"FYTD\", // 年度（财政年度）\r\n        val: this.translation.ANNUALLYFY,\r\n      },\r\n      {\r\n        key: \"LTM\", // 最近十二个月\r\n        val: this.translation.LAST12MONTH,\r\n      },\r\n    ];\r\n  }\r\n  public GetPeriods() {\r\n    // Previous Period\r\n    return [\r\n      {\r\n        val: 2,\r\n        displayVal: this.translation.LAST2DATA,\r\n      },\r\n      {\r\n        val: 3,\r\n        displayVal: this.translation.LAST3DATA,\r\n      },\r\n      {\r\n        val: 4,\r\n        displayVal: this.translation.LAST4DATA,\r\n      },\r\n      {\r\n        val: 5,\r\n        displayVal: this.translation.LAST5DATA,\r\n      },\r\n      {\r\n        val: 6,\r\n        displayVal: this.translation.LAST6DATA,\r\n      },\r\n      {\r\n        val: 7,\r\n        displayVal: this.translation.LAST7DATA,\r\n      },\r\n      {\r\n        val: 8,\r\n        displayVal: this.translation.LAST8DATA,\r\n      },\r\n      {\r\n        val: 9,\r\n        displayVal: this.translation.LAST9DATA,\r\n      },\r\n      {\r\n        val: 10,\r\n        displayVal: this.translation.LAST10DATA,\r\n      },\r\n      {\r\n        val: 11,\r\n        displayVal: this.translation.LAST11DATA,\r\n      },\r\n      {\r\n        val: 12,\r\n        displayVal: this.translation.LAST12DATA,\r\n      },\r\n      {\r\n        val: 13,\r\n        displayVal: this.translation.LAST13DATA,\r\n      },\r\n      {\r\n        val: 14,\r\n        displayVal: this.translation.LAST14DATA,\r\n      },\r\n      {\r\n        val: 15,\r\n        displayVal: this.translation.LAST15DATA,\r\n      },\r\n      {\r\n        val: 16,\r\n        displayVal: this.translation.LAST16DATA,\r\n      },\r\n      {\r\n        val: 17,\r\n        displayVal: this.translation.LAST17DATA,\r\n      },\r\n      {\r\n        val: 18,\r\n        displayVal: this.translation.LAST18DATA,\r\n      },\r\n      {\r\n        val: 19,\r\n        displayVal: this.translation.LAST19DATA,\r\n      },\r\n      {\r\n        val: 20,\r\n        displayVal: this.translation.LAST20DATA,\r\n      },\r\n      {\r\n        val: 21,\r\n        displayVal: this.translation.LAST21DATA,\r\n      },\r\n      {\r\n        val: 22,\r\n        displayVal: this.translation.LAST22DATA,\r\n      },\r\n      {\r\n        val: 23,\r\n        displayVal: this.translation.LAST23DATA,\r\n      },\r\n      {\r\n        val: 24,\r\n        displayVal: this.translation.LAST24DATA,\r\n      },\r\n    ];\r\n  }\r\n  public GetFollowingPeriods() {\r\n    // Following Period\r\n    return [\r\n      {\r\n        val: 0,\r\n        displayVal: this.translation.NONEXTDATA,\r\n      },\r\n      {\r\n        val: 3,\r\n        displayVal: this.translation.NEXT3DATA,\r\n      },\r\n      {\r\n        val: 4,\r\n        displayVal: this.translation.NEXT4DATA,\r\n      },\r\n      {\r\n        val: 5,\r\n        displayVal: this.translation.NEXT5DATA,\r\n      },\r\n      {\r\n        val: 6,\r\n        displayVal: this.translation.NEXT6DATA,\r\n      },\r\n      {\r\n        val: 7,\r\n        displayVal: this.translation.NEXT7DATA,\r\n      },\r\n      {\r\n        val: 8,\r\n        displayVal: this.translation.NEXT8DATA,\r\n      },\r\n      {\r\n        val: 9,\r\n        displayVal: this.translation.NEXT9DATA,\r\n      },\r\n      {\r\n        val: 10,\r\n        displayVal: this.translation.NEXT10DATA,\r\n      },\r\n      {\r\n        val: 11,\r\n        displayVal: this.translation.NEXT11DATA,\r\n      },\r\n      {\r\n        val: 12,\r\n        displayVal: this.translation.NEXT12DATA,\r\n      },\r\n    ];\r\n  }\r\n  public GetFinancialFigureCodes() {\r\n    // Financial Type\r\n    return [\r\n      {\r\n        key: \"accountAssetFigure\",\r\n        val: this.translation.DASHD_ACCOUNTASSETFIGURE,\r\n      },\r\n      {\r\n        key: \"accountEquityFigure\",\r\n        val: this.translation.DASHD_ACCOUNTEQUITYFIGURE,\r\n      },\r\n      {\r\n        key: \"accountLiabilityFigure\",\r\n        val: this.translation.DASHD_ACCOUNTLIABILITYFIGURE,\r\n      },\r\n      {\r\n        key: \"accountPLFigure\",\r\n        val: this.translation.DASHD_ACCOUNTPLFIGURE,\r\n      },\r\n      {\r\n        key: \"accountCashflowFigure\",\r\n        val: this.translation.DASHD_ACCOUNTCASHFLOWFIGURE,\r\n      },\r\n      {\r\n        key: \"accountOperationKPIFigure\",\r\n        val: this.translation.DASHD_ACCOUNTOPERATIONKPIFIGURE,\r\n      },\r\n      {\r\n        key: \"accountRATIOFigure\",\r\n        val: this.translation.DASHD_ACCOUNTRATIOFIGURE,\r\n      },\r\n    ];\r\n  }\r\n  public GetFinancialSubType(financials) {\r\n    var financialTypes = [];\r\n    for (var item in financials) {\r\n      financialTypes.push({\r\n        subType: item[\"subType\"],\r\n        subTypeCode: item[\"subTypeCode\"],\r\n      });\r\n    }\r\n\r\n    return financialTypes;\r\n  }\r\n  public GetFinancialItems(id, key) {\r\n    let data = {\r\n      username: this.userInfo.username,\r\n      accountId: this.userInfo.accountId,\r\n      investeeIds: [id],\r\n      figureCode: key,\r\n      language: this.lang,\r\n    };\r\n    this.http.post(this.api.urlList.GetFinancialItems, data, (res) => {\r\n      if (res) {\r\n        return res;\r\n      }\r\n    });\r\n  }\r\n  /* get toggle */\r\n  public GetTheme() {\r\n    return [\r\n      { key: \"zune\", val: this.translation.CHARTTHEME_ZUNE },\r\n      { key: \"ocean\", val: this.translation.CHARTTHEME_OCEAN },\r\n      { key: \"carbon\", val: this.translation.CHARTTHEME_CARBON },\r\n    ];\r\n  }\r\n  public GetFollowingDataType() {\r\n    return [\r\n      { key: \"budget\", val: this.translation.BUDGET },\r\n      { key: \"forecast\", val: this.translation.FORECAST },\r\n      // { key: 'rolling', val: this.translation.DASHBOARD_ROLLING },\r\n      { key: \"rolling\", val: \"Rolling\" },\r\n    ];\r\n  }\r\n  public GetFormat() {\r\n    return [\r\n      { key: \"number\", val: this.translation.NUMBER },\r\n      { key: \"percentage\", val: this.translation.PERCENTAGE },\r\n    ];\r\n  }\r\n  public GetChartStyle() {\r\n    return [\r\n      { key: \"bar\", val: this.translation.BAR },\r\n      { key: \"line\", val: this.translation.LINE },\r\n      { key: \"area\", val: this.translation.AREA },\r\n    ];\r\n  }\r\n  public GetDataTypes = function () {\r\n    return [\r\n      { key: \"budget\", val: this.translation.BUDGET },\r\n      { key: \"actual\", val: this.translation.ACTUAL },\r\n      { key: \"forecast\", val: this.translation.FORECAST },\r\n      { key: \"rolling\", val: \"Rolling\" },\r\n    ];\r\n  };\r\n  /*     Fund Operation Summary       */\r\n  public getFundDropdown() {\r\n    let data = {\r\n      username: this.userInfo.username,\r\n      accountId: this.userInfo.accountId,\r\n      investorId: this.userInfo.accountId,\r\n      language: this.lang,\r\n    };\r\n    this.http.post(this.api.urlList.GetFundListByInvestorId, data, (res) => {\r\n      if (res) {\r\n        this.fundDropdownList = res;\r\n        // return res;\r\n      }\r\n    });\r\n  }\r\n  /*     Fund performance       */\r\n  public GetGrouping() {\r\n    return [\r\n      { key: \"null\", val: \"\" },\r\n      { key: \"investor\", val: this.translation.DASHD_GP_INVESTOR },\r\n      { key: \"fund\", val: this.translation.DASHD_GP_FUND },\r\n    ];\r\n  }\r\n  /*     Fund Operation Summary       */\r\n  public getFundDropdown_(callbake: Function) {\r\n    let data = {\r\n      username: this.userInfo.username,\r\n      accountId: this.userInfo.accountId,\r\n      investorId: this.userInfo.accountId,\r\n      language: this.lang,\r\n    };\r\n    this.http.post(this.api.urlList.GetFundListByInvestorId, data, (res) => {\r\n      if (res) {\r\n        this.fundDropdownList = res;\r\n        // this.GetAllInvestee(res => {\r\n        callbake();\r\n        // });\r\n      }\r\n    });\r\n  }\r\n  /*     Investor position       */\r\n  public GetAllInvestee(callbake: Function) {\r\n    let data = {\r\n      username: this.userInfo.username,\r\n      accountId: this.userInfo.accountId,\r\n      language: this.lang,\r\n    };\r\n    this.http.post(this.api.urlList.GetAllInvestee, data, (res) => {\r\n      if (res) {\r\n        this.allInvesteeList = res;\r\n        callbake();\r\n      }\r\n    });\r\n  }\r\n  public pivotTableformatNumber(num) {\r\n    switch (num) {\r\n      case 1:\r\n      case 2:\r\n      case 3:\r\n        return \"#,###;(#,###)\";\r\n      case 4:\r\n      case 5:\r\n      case 6:\r\n        return \"#,###.0;(#,###.0)\";\r\n      case 7:\r\n      case 8:\r\n      case 9:\r\n        return \"#,###.00;(#,###.00)\";\r\n      case 10:\r\n      case 11:\r\n      case 12:\r\n        return \"#,###,,;(#,###,,)\";\r\n      case 13:\r\n      case 14:\r\n      case 15:\r\n        return \"#,###,,.0;(#,###,,.0)\";\r\n      case 16:\r\n      case 17:\r\n      case 18:\r\n        return \"#,###,,.00;(#,###,,.00)\";\r\n      default:\r\n        return \"#,###.00;-#,###.00;0.00\";\r\n    }\r\n  }\r\n\r\n  public pivotTableformatInteger(num) {\r\n    switch (num) {\r\n      case 1:\r\n      case 3:\r\n      case 4:\r\n        return \"#,###;(#,###)\";\r\n      case 4:\r\n      case 5:\r\n      case 6:\r\n        return \"#,###,,;(#,###,,)\";\r\n      default:\r\n        return \"#,###;(#,###)\";\r\n    }\r\n  }\r\n\r\n  public pivotTableformatPercent(num) {\r\n    switch (num) {\r\n      case 1:\r\n      case 2:\r\n      case 3:\r\n        return \"P\";\r\n      case 4:\r\n      case 5:\r\n      case 6:\r\n        return \"P1\";\r\n      case 7:\r\n      case 8:\r\n      case 9:\r\n        return \"P2\";\r\n      case 10:\r\n      case 11:\r\n      case 12:\r\n        return \"#,###0.00'x';(#,###0.00'x')\";\r\n      default:\r\n        return \"P2\";\r\n    }\r\n  }\r\n\r\n  public pivotTableformatPercentNum(num) {\r\n    switch (num) {\r\n      case 1:\r\n        return \"####'%'\";\r\n      case 2:\r\n        return \"####.0'%'\";\r\n      case 3:\r\n        return \"####.00'%'\";\r\n      default:\r\n        return \"####.00'%'\";\r\n    }\r\n  }\r\n\r\n  public pivotTableformatMultiple(num) {\r\n    switch (num) {\r\n      case 1:\r\n        return \"####'x'\";\r\n      case 2:\r\n        return \"###0.0'x'\";\r\n      case 3:\r\n        return \"###0.00'x'\";\r\n      default:\r\n        return \"###0.00'x'\";\r\n    }\r\n  }\r\n\r\n  public formatNumber(num) {\r\n    switch (num) {\r\n      case 0:\r\n        return \"N\";\r\n      case 1:\r\n        return \"N1\";\r\n      case 2:\r\n        return \"N2\";\r\n      case 3:\r\n        return \"N3\";\r\n      case 4:\r\n        return \"N4\";\r\n      case 5:\r\n        return \"N5\";\r\n      case 6:\r\n        return \"N6\";\r\n      default:\r\n        return \"N2\";\r\n    }\r\n  }\r\n\r\n  public formatPercent(num) {\r\n    switch (num) {\r\n      case 0:\r\n        return \"P\";\r\n      case 1:\r\n        return \"P1\";\r\n      case 2:\r\n        return \"P2\";\r\n      case 3:\r\n        return \"P3\";\r\n      case 4:\r\n        return \"P4\";\r\n      case 5:\r\n        return \"P5\";\r\n      case 6:\r\n        return \"P6\";\r\n      default:\r\n        return \"P2\";\r\n    }\r\n  }\r\n\r\n  public formatPercentNum(num) {\r\n    switch (num) {\r\n      case 0:\r\n        return \"####'%'\";\r\n      case 1:\r\n        return \"###0.0'%'\";\r\n      case 2:\r\n        return \"###0.00'%'\";\r\n      default:\r\n        return \"###0.00'%'\";\r\n    }\r\n  }\r\n\r\n  public formatMultiple(num) {\r\n    switch (num) {\r\n      case 0:\r\n        return \"####'x'\";\r\n      case 1:\r\n        return \"###0.0'x'\";\r\n      case 2:\r\n        return \"###0.00'x'\";\r\n      default:\r\n        return \"###0.00'x'\";\r\n    }\r\n  }\r\n\r\n  public GetFigureFormat() {\r\n    // return [\r\n    // \t{ key1: \"1,234,567\", key2: \"(1,234,567)\", key3: \"-\", val: 1 }, //\r\n    // \t{ key1: \"1,234,567\", key2: \"(1,234,567)\", key3: \"-\", val: 2 }, //\r\n    // \t{ key1: \"1,234,567.00\", key2: \"(1,234,567.00)\", key3: \"-\", val: 3 }, //\r\n    // \t{ key1: \"1,234,567.00\", key2: \"(1,234,567.00)\", key3: \"-\", val: 4 }, //\r\n    // \t{ key1: \"1\", key2: \"(1)\", key3: \"-\", val: 5 }, //\r\n    // \t{ key1: \"1\", key2: \"(1)\", key3: \"-\", val: 6 }, //\r\n    // \t{ key1: \"1.2\", key2: \"(1.2)\", key3: \"0.0\", val: 7 }, //\r\n    // \t{ key1: \"1.2\", key2: \"(1.2)\", key3: \"0.0\", val: 8 }, //\r\n    // \t{ key1: \"1.23\", key2: \"(1.23)\", key3: \"0.00\", val: 9 }, //\r\n    // \t{ key1: \"1.23\", key2: \"(1.23)\", key3: \"0.00\", val: 10 }, //\r\n    // ];\r\n    return [\r\n      { key: \"1,234,567;(1,234,567);0\", val: 1 },\r\n      { key: \"1,234,567;(1,234,567);-\", val: 2 },\r\n      { key: \"1,234,567;(1,234,567);\", val: 3 },\r\n\r\n      { key: \"1,234,567.0;(1,234,567.0);0.0\", val: 4 },\r\n      { key: \"1,234,567.0;(1,234,567.0);-\", val: 5 },\r\n      { key: \"1,234,567.0;(1,234,567.0);\", val: 6 },\r\n\r\n      { key: \"1,234,567.00;(1,234,567.00);0.00\", val: 7 },\r\n      { key: \"1,234,567.00;(1,234,567.00);-\", val: 8 },\r\n      { key: \"1,234,567.00;(1,234,567.00);\", val: 9 },\r\n\r\n      { key: \"1;(1);0\", val: 10 },\r\n      { key: \"1;(1);-\", val: 11 },\r\n      { key: \"1;(1);\", val: 12 },\r\n\r\n      { key: \"1.2;(1.2);0.0\", val: 13 },\r\n      { key: \"1.2;(1.2);-\", val: 14 },\r\n      { key: \"1.2;(1.2);\", val: 15 },\r\n\r\n      { key: \"1.23;(1.23);0.00\", val: 16 },\r\n      { key: \"1.23;(1.23);-\", val: 17 },\r\n      { key: \"1.23;(1.23);\", val: 18 },\r\n    ];\r\n  }\r\n\r\n  // public GetFigureFormat2() {\r\n  // \treturn [\r\n  // \t\t// 1234567\r\n  // \t\t{ key: \"1,234,567\", val: 11 },\r\n  // \t\t{ key: \"1,234,567.00\", val: 12 },\r\n  // \t\t{ key: \"1\", val: 13 },\r\n  // \t\t{ key: \"1.2\", val: 14 },\r\n  // \t\t{ key: \"1.23\", val: 15 },\r\n  // \t];\r\n  // };\r\n\r\n  public GetFigureFormat3() {\r\n    // return [\r\n    // \t{ key1: \"1,234,567\", key2: \"(1,234,567)\", key3: \"-\", val: 1 }, //\r\n    // \t{ key1: \"1,234,567\", key2: \"(1,234,567)\", key3: \"-\", val: 2 }, //\r\n    // \t{ key1: \"1\", key2: \"(1)\", key3: \"-\", val: 3 }, //\r\n    // \t{ key1: \"1\", key2: \"(1)\", key3: \"-\", val: 4 }, //\r\n    // \t{ key: \"1\", val: 5 },\r\n    // ];\r\n    return [\r\n      { key: \"1,234,567;(1,234,567);0\", val: 1 },\r\n      { key: \"1,234,567;(1,234,567);-\", val: 2 },\r\n      { key: \"1,234,567;(1,234,567);\", val: 3 },\r\n      { key: \"1;(1);0\", val: 4 },\r\n      { key: \"1;(1);-\", val: 5 },\r\n      { key: \"1;(1);\", val: 6 },\r\n    ];\r\n  }\r\n\r\n  public GetPercentFormats() {\r\n    // return [\r\n    // \t{ key1: \"0%\", key2: \"0%\", key3: \"-\", val: 1 },\r\n    // \t{ key1: \"0%\", key2: \"(0%)\", key3: \"-\", val: 2 },\r\n    // \t{ key1: \"0.0%\", key2: \"0.0%\", key3: \"-\", val: 3 },\r\n    // \t{ key1: \"0.0%\", key2: \"(0.0%)\", key3: \"-\", val: 4 },\r\n    // \t{ key1: \"0.00%\", key2: \"0.00%\", key3: \"-\", val: 5 },\r\n    // \t{ key1: \"0.00%\", key2: \"(0.00%)\", key3: \"-\", val: 6 },\r\n    // ];\r\n\r\n    return [\r\n      { key: \"1%;(1%);0%\", val: 1 },\r\n      { key: \"1%;(1%);-\", val: 2 },\r\n      { key: \"1%;(1%);\", val: 3 },\r\n\r\n      { key: \"1.2%;(1.2%);0.0%\", val: 4 },\r\n      { key: \"1.2%;(1.2%);-\", val: 5 },\r\n      { key: \"1.2%;(1.2%);\", val: 6 },\r\n\r\n      { key: \"1.23%;(1.23%);0.00%\", val: 7 },\r\n      { key: \"1.23%;(1.23%);-\", val: 8 },\r\n      { key: \"1.23%;(1.23%);\", val: 9 },\r\n\r\n      { key: \"1.23x;(1.23x);0.00x\", val: 10 },\r\n      { key: \"1.23x;(1.23x);-\", val: 11 },\r\n      { key: \"1.23x;(1.23x);\", val: 12 },\r\n    ];\r\n  }\r\n\r\n  public GetMultipleFormats() {\r\n    return [\r\n      { key: \"0x\", val: 1 },\r\n      { key: \"0.0x\", val: 2 },\r\n      { key: \"0.00x\", val: 3 },\r\n    ];\r\n  }\r\n\r\n  public getAggregateType(aggregateType) {\r\n    switch (aggregateType) {\r\n      case \"CalculateIRR\":\r\n        return \"CI\";\r\n      case \"CalculateIRRDueDate\":\r\n        return \"CI_DUE_DATE\";\r\n      case \"CalculateIRRIRRDate\":\r\n        return \"CI_IRR\";\r\n      case \"CalculateIRRBeforeCarried\":\r\n        return \"CI_BEFORE_CARRY\";\r\n      case \"CalculateIRRReported\":\r\n        return \"CI_REPORTED\";\r\n      case \"CalculateIRRActualAudited\":\r\n        return \"CI_ACTUAL_AUDITED\";\r\n      case \"CalculateIRRMTD\":\r\n        return \"CI_MTD\";\r\n      case \"CalculateIRRQTD\":\r\n        return \"CI_QTD\";\r\n      case \"CalculateIRRYTD\":\r\n        return \"CI_YTD\";\r\n      case \"CalculateTWRMTD\":\r\n        return \"CTWR_MTD\";\r\n      case \"CalculateTWRQTD\":\r\n        return \"CTWR_QTD\";\r\n      case \"CalculateTWRYTD\":\r\n        return \"CTWR_YTD\";\r\n      case \"CalculateVARMTD_99\":\r\n        return \"CVAR_MTD_99\";\r\n      case \"CalculateVARQTD_99\":\r\n        return \"CVAR_QTD_99\";\r\n      case \"CalculateVARYTD_99\":\r\n        return \"CVAR_YTD_99\";\r\n      case \"CalculateVARMTD_95\":\r\n        return \"CVAR_MTD_95\";\r\n      case \"CalculateVARQTD_95\":\r\n        return \"CVAR_QTD_95\";\r\n      case \"CalculateVARYTD_95\":\r\n        return \"CVAR_YTD_95\";\r\n      case \"CalculateMultiple\":\r\n        return \"CM\";\r\n      case \"CalculatePIC\":\r\n        return \"CP\";\r\n      case \"CalculateDPI\":\r\n        return \"CD\";\r\n      case \"CalculateTVPI\":\r\n        return \"CT\";\r\n      case \"CalculateRVPI\":\r\n        return \"CR\";\r\n      case \"CalculateMActualAudited\":\r\n        return \"CM_ACTUAL_AUDITED\";\r\n      case \"CalculateMReported\":\r\n        return \"CM_REPORTED\";\r\n    }\r\n  }\r\n\r\n  public getCalculateMethod(colName) {\r\n    switch (colName) {\r\n      case \"CI\":\r\n        return \"CalculateIRR\";\r\n      case \"CI_DUE_DATE\":\r\n        return \"CalculateIRRDueDate\";\r\n      case \"CI_IRR\":\r\n        return \"CalculateIRRIRRDate\";\r\n      case \"CI_BEFORE_CARRY\":\r\n        return \"CalculateIRRBeforeCarried\";\r\n      case \"CI_REPORTED\":\r\n        return \"CalculateIRRReported\";\r\n      case \"CI_ACTUAL_AUDITED\":\r\n        return \"CalculateIRRActualAudited\";\r\n      case \"CI_MTD\":\r\n        return \"CalculateIRRMTD\";\r\n      case \"CI_QTD\":\r\n        return \"CalculateIRRQTD\";\r\n      case \"CI_YTD\":\r\n        return \"CalculateIRRYTD\";\r\n      case \"CTWR_MTD\":\r\n        return \"CalculateTWRMTD\";\r\n      case \"CTWR_QTD\":\r\n        return \"CalculateTWRQTD\";\r\n      case \"CTWR_YTD\":\r\n        return \"CalculateTWRYTD\";\r\n      case \"CVAR_MTD_99\":\r\n        return \"CalculateVARMTD_99\";\r\n      case \"CVAR_QTD_99\":\r\n        return \"CalculateVARQTD_99\";\r\n      case \"CVAR_YTD_99\":\r\n        return \"CalculateVARYTD_99\";\r\n      case \"CVAR_MTD_95\":\r\n        return \"CalculateVARMTD_95\";\r\n      case \"CVAR_QTD_95\":\r\n        return \"CalculateVARQTD_95\";\r\n      case \"CVAR_YTD_95\":\r\n        return \"CalculateVARYTD_95\";\r\n      case \"CM\":\r\n        return \"CalculateMultiple\";\r\n      case \"CP\":\r\n        return \"CalculatePIC\";\r\n      case \"CD\":\r\n        return \"CalculateDPI\";\r\n      case \"CT\":\r\n        return \"CalculateTVPI\";\r\n      case \"CR\":\r\n        return \"CalculateRVPI\";\r\n      case \"CM_ACTUAL_AUDITED\":\r\n        return \"CalculateMActualAudited\";\r\n      case \"CM_REPORTED\":\r\n        return \"CalculateMReported\";\r\n    }\r\n  }\r\n\r\n  // 格式化数字\r\n  public number_format(number, decimals, dec_point, thousands_sep, roundtag) {\r\n    /*\r\n     * 参数说明：\r\n     * number：要格式化的数字\r\n     * decimals：保留几位小数\r\n     * dec_point：小数点符号\r\n     * thousands_sep：千分位符号\r\n     * roundtag:舍入参数，默认 \"ceil\" 向上取,\"floor\"向下取,\"round\" 四舍五入\r\n     * */\r\n    number = (number + \"\").replace(/[^0-9+-Ee.]/g, \"\");\r\n    roundtag = roundtag || \"ceil\"; //\"ceil\",\"floor\",\"round\"\r\n    let n = !isFinite(+number) ? 0 : +number;\r\n    let prec = !isFinite(+decimals) ? 0 : Math.abs(decimals);\r\n    let sep = typeof thousands_sep === \"undefined\" ? \",\" : thousands_sep;\r\n    let dec = typeof dec_point === \"undefined\" ? \".\" : dec_point;\r\n    // let  s = '';\r\n    let s = (\r\n      prec\r\n        ? this.toFixedFix(n, prec, roundtag)\r\n        : \"\" + this.pbf.tofixedNum(n, decimals)\r\n    ).split(\".\"); //this.pbf.tofixedNum(Math.abs(value), decimal)\r\n    var re = /(-?\\d+)(\\d{3})/;\r\n    while (re.test(s[0])) {\r\n      s[0] = s[0].replace(re, \"$1\" + sep + \"$2\");\r\n    }\r\n\r\n    if ((s[1] || \"\").length < prec) {\r\n      s[1] = s[1] || \"\";\r\n      s[1] += new Array(prec - s[1].length + 1).join(\"0\");\r\n    }\r\n    return s.join(dec);\r\n  }\r\n\r\n  private toFixedFix(n, prec, roundtag) {\r\n    var k = Math.pow(10, prec);\r\n    return (\r\n      \"\" +\r\n      parseFloat(\r\n        Math[roundtag](parseFloat((n * k).toFixed(prec * 2))).toFixed(prec * 2)\r\n      ) /\r\n        k\r\n    );\r\n  }\r\n\r\n  public getResultByDataTable(\r\n    portlet,\r\n    isGetTotal = false,\r\n    copyId = false,\r\n    id: string\r\n  ) {\r\n    let result = [];\r\n    let datamartCode = portlet.figureCode;\r\n    let identifier =\r\n      portlet.id === \"00000000-0000-0000-0000-000000000000\"\r\n        ? portlet.newId\r\n        : portlet.id;\r\n    if (portlet.copyId) {\r\n      identifier = portlet.copyId;\r\n    }\r\n    if (this.portletData_New[id][identifier]) {\r\n      result = isGetTotal\r\n        ? this.portletData_New[id][identifier] &&\r\n          this.portletData_New[id][identifier].total\r\n        : this.portletData_New[id][identifier] &&\r\n          this.portletData_New[id][identifier].data;\r\n    } else {\r\n      result = isGetTotal\r\n        ? this.portletResults_New[id][datamartCode] &&\r\n          this.portletResults_New[id][datamartCode].total\r\n        : this.portletResults_New[id][datamartCode] &&\r\n          this.portletResults_New[id][datamartCode].data;\r\n    }\r\n    return result;\r\n  }\r\n\r\n  // SMP2-3708 END\r\n\r\n  public getOrderByColumnsNew(datamartCode, dashboard): Promise<any[]> {\r\n    return new Promise((resolve) => {\r\n      if (this.sourcesData[dashboard.id] && dashboard) {\r\n        const outputRes = [];\r\n        if (this.sourcesData[dashboard.id].length) {\r\n          let config = JSON.parse(dashboard.config);\r\n          const dataViews = config.views;\r\n          if (dashboard && dashboard.config) {\r\n            const dataMart = this.sourcesData[dashboard.id].filter(\r\n              (item) => item.entityType === dashboard.entityType\r\n            );\r\n            dataMart.forEach((_data) => {\r\n              _data.views.forEach((view) => {\r\n                if (dataViews.find((item) => item.datamartViewId === view.id)) {\r\n                  view.tables.forEach((table) => {\r\n                    outputRes.push(table);\r\n                  });\r\n                }\r\n              });\r\n            });\r\n          }\r\n        }\r\n        resolve(outputRes);\r\n      } else {\r\n        // 处理 this.sourcesData 没有值\r\n        let data = {\r\n          accountId: this.userInfo.accountId,\r\n          language: this.lang,\r\n          dashboardVersion: 2,\r\n        };\r\n        this.http.get(this.api.urlList.GetSources, data, (res) => {\r\n          let outputRes = [];\r\n          if (res && res.length) {\r\n            outputRes = this.filterTables(dashboard, res);\r\n          }\r\n          resolve(outputRes);\r\n        });\r\n      }\r\n    });\r\n  }\r\n\r\n  private filterTables(dashboard, sourcesData) {\r\n    const outputRes = [];\r\n    this.sourcesData[dashboard.id] = [...sourcesData];\r\n    let config = JSON.parse(dashboard.config);\r\n    const dataViews = config.views;\r\n    if (dashboard && dashboard.config) {\r\n      const dataMart = [...sourcesData].filter(\r\n        (item) => item.entityType === dashboard.entityType\r\n      );\r\n      dataMart.forEach((_data) => {\r\n        _data.views.forEach((view) => {\r\n          if (dataViews.find((item) => item.datamartViewId === view.id)) {\r\n            view.tables.forEach((table) => {\r\n              outputRes.push(table);\r\n            });\r\n          }\r\n        });\r\n      });\r\n    }\r\n\r\n    return outputRes;\r\n  }\r\n\r\n  public async decompressArrayBuffer(input: ArrayBuffer): Promise<Uint8Array> {\r\n    //create the stream\r\n    const ds = new (window as any).DecompressionStream(\"deflate-raw\");\r\n    //create the writer\r\n    const writer = ds.writable.getWriter();\r\n    //write the buffer to the writer thus decompressing it\r\n    writer.write(input);\r\n    writer.close();\r\n    //create the output\r\n    const output: Uint8Array[] = [];\r\n    //create the reader\r\n    const reader = ds.readable.getReader();\r\n    let totalSize = 0;\r\n    //go through each chunk and add it to the output\r\n    while (true) {\r\n      const { value, done } = await reader.read();\r\n      if (done) break;\r\n      output.push(value);\r\n      totalSize += value.byteLength;\r\n    }\r\n    const concatenated = new Uint8Array(totalSize);\r\n    let offset = 0;\r\n    //finally build the compressed array and return it\r\n    for (const array of output) {\r\n      concatenated.set(array, offset);\r\n      offset += array.byteLength;\r\n    }\r\n    return concatenated;\r\n  }\r\n\r\n  private getAllFields(item, dashboard): Promise<any[]> {\r\n    const lang = this.pbf.getLanguageParams();\r\n    return new Promise((resolve, reject) => {\r\n      const dataMartCode = item.figureCode;\r\n      const dataObj = {\r\n        language: lang,\r\n        dataMartCode,\r\n      };\r\n      this.setSchemaParams(dataObj, dataMartCode, dashboard);\r\n      this.http.post(this.api.urlList.GetSchema, dataObj, (res) => {\r\n        resolve(res);\r\n      });\r\n    });\r\n  }\r\n\r\n  public setSchemaParams(dataObj, figureCode, dashboard) {\r\n    if (this.checkIsQ2Q(dashboard.dataMartTables)) {\r\n      dataObj[\"fromDate\"] = dashboard.fromDate;\r\n      dataObj[\"asOfDate\"] = dashboard.asOfDate;\r\n    } else if (figureCode.indexOf(\"FinancialFigure\") !== -1) {\r\n      dataObj[\"entityType\"] = dashboard.entityList.map(\r\n        (item) => item.linkedType\r\n      );\r\n      dataObj[\"fromDate\"] = dashboard.fromDate || \"\";\r\n      dataObj[\"asOfDate\"] = dashboard.asOfDate;\r\n    }\r\n    if (\r\n      dashboard &&\r\n      (figureCode === \"FundOperations\" ||\r\n        figureCode === \"FundOperationTableSequoia\" ||\r\n        figureCode.indexOf(\"FinancialFigure\") !== -1)\r\n    ) {\r\n      dataObj[\"entityIds\"] = dashboard.entityList.map(\r\n        (item) => item.linkedGuid\r\n      );\r\n    }\r\n  }\r\n\r\n  // 判断是否可选开始日期\r\n  public checkHasFromDate(dataMart) {\r\n    const has = dataMart.find(\r\n      (item) =>\r\n        !item.isHide && item.datamartCode === \"FundOperationTableSequoia\"\r\n    );\r\n    return !!has;\r\n  }\r\n\r\n  // 判断Q2Q，控制顶部日期选择类型\r\n  public checkIsQ2Q(dataMart) {\r\n    return false;\r\n    const Q2QPatchList = [\r\n      \"SeeThroughHisPosition\",\r\n      \"SeeThroughHisPositionByInvestor\",\r\n    ];\r\n    const has = dataMart.find((it) => {\r\n      return !it.isHide && Q2QPatchList.includes(it.datamartCode);\r\n    });\r\n    return !!has;\r\n  }\r\n\r\n  /**\r\n   * 使用自定义保存的列数据，覆盖通用列配置数据\r\n   * @param allFields 自定义数据\r\n   * @param fields 通用列配置数据\r\n   * @returns\r\n   */\r\n  public setConfigFields(allFields, fields) {\r\n    allFields.forEach((_field) => {\r\n      if (fields) {\r\n        fields.forEach((field) => {\r\n          if (_field.colName === field.colName) {\r\n            _field.isHidden = field.isHidden;\r\n            _field.visible = field.visible;\r\n            _field.format = field.format;\r\n            _field.formula = field.formula;\r\n            if (field.showGrandTotals !== undefined) {\r\n              _field.showGrandTotals = field.showGrandTotals;\r\n            }\r\n            if (field.showSubTotals !== undefined) {\r\n              _field.showSubTotals = field.showSubTotals;\r\n            }\r\n          }\r\n        });\r\n      }\r\n    });\r\n    if (fields) {\r\n      fields.forEach((field) => {\r\n        if (field.isCalculatedField) {\r\n          allFields.push(field);\r\n        }\r\n      });\r\n    }\r\n    const fieldsName = [];\r\n    const outputFields = [];\r\n    allFields.forEach((field) => {\r\n      // q2q当中langCode很多相同，去重要多判断一下addtionName\r\n      // if (!fieldsName.includes(field.langCode) || !!field.addtionName) {\r\n      if (\r\n        !fieldsName.includes(field.langCode) &&\r\n        !fieldsName.includes(field.langValue)\r\n      ) {\r\n        const value = field.langCode || field.langValue;\r\n        fieldsName.push(value);\r\n        outputFields.push(field);\r\n      }\r\n    });\r\n    return outputFields.sort((a, b) => (a.seq >= b.seq ? 1 : -1));\r\n  }\r\n\r\n  public async getDataByPortletsNew(\r\n    portlets,\r\n    callback,\r\n    pageSetting?,\r\n    isRefresh = false,\r\n    dashboard?: any,\r\n    roGet = false\r\n  ) {\r\n    let length = 0;\r\n    if (portlets && portlets.length) {\r\n      for (let portlet of portlets) {\r\n        let id =\r\n          portlet.id === \"00000000-0000-0000-0000-000000000000\"\r\n            ? portlet.newId\r\n            : portlet.id;\r\n        const allFields = await this.getAllFields(portlet, dashboard);\r\n        let params = this.getParamsByPortlet(\r\n          portlet,\r\n          pageSetting,\r\n          allFields,\r\n          dashboard\r\n        );\r\n        let initFieldsArr;\r\n        let curFieldsArr;\r\n        if (!params.isTable && !roGet) {\r\n          // 赋值portletFields_Temp\r\n          initFieldsArr = this.portletFields_Temp[id];\r\n          curFieldsArr = params.displayColumnFilter.split(\",\");\r\n          if (\r\n            !initFieldsArr ||\r\n            this.needGetPortletData(initFieldsArr, curFieldsArr)\r\n          ) {\r\n            this.portletFields_Temp[id] = curFieldsArr;\r\n          } else {\r\n            length++;\r\n            if (portlets.length === length) {\r\n              callback();\r\n            }\r\n            continue;\r\n          }\r\n        }\r\n        const config = portlet.config && JSON.parse(portlet.config);\r\n        if (config.filterSettings && config.filterSettings.length) {\r\n          if (!params.columnFilter) {\r\n            params.columnFilter = [];\r\n          }\r\n          config.filterSettings.forEach((setting) => {\r\n            if (config.portletType === \"pivot\") {\r\n              return;\r\n            }\r\n            const _field = config.fields.find(\r\n              (item) => item.colName === setting.name\r\n            );\r\n            const Type = _field && _field.dataType;\r\n            if (setting.items) {\r\n              setting.items.forEach((item) => {\r\n                params.columnFilter.push({\r\n                  Field: setting.name,\r\n                  Operator: \"equal\",\r\n                  Type,\r\n                  Value:\r\n                    Type === \"date\"\r\n                      ? moment(item).format(\"yyyy-MM-DD\")\r\n                      : Type === \"datetime\"\r\n                      ? moment(item).format(\"yyyy-MM-DD hh:mm:ss\")\r\n                      : item,\r\n                });\r\n              });\r\n            } else if (setting.operator) {\r\n              params.columnFilter.push({\r\n                Field: setting.field,\r\n                Operator: \"equal\",\r\n                Type: setting.type,\r\n                Value:\r\n                  setting.type === \"date\"\r\n                    ? moment(setting.value).format(\"yyyy-MM-DD\")\r\n                    : setting.type === \"datetime\"\r\n                    ? moment(setting.value).format(\"yyyy-MM-DD hh:mm:ss\")\r\n                    : setting.value,\r\n              });\r\n            }\r\n          });\r\n        }\r\n        if (params.columnFilter instanceof Array) {\r\n          params.columnFilter = params.columnFilter.filter(\r\n            (item) => item.Field\r\n          );\r\n        }\r\n\r\n        // json buffer\r\n        params[\"dashboardVersion\"] = 2;\r\n        this.httpClient\r\n          .post(\r\n            this.api.baseurl + this.api.urlList.GetPortletDataOrCreate,\r\n            params\r\n          )\r\n          .subscribe(\r\n            (result) => {\r\n              if (!result) {\r\n                this.portletData_New[dashboard.id][id] = {\r\n                  total: 0,\r\n                  data: [],\r\n                };\r\n                if (isRefresh) {\r\n                  this.DashboardService.refreshGadget.next({\r\n                    newId: id,\r\n                    dashboardId: dashboard && dashboard.id,\r\n                  });\r\n                }\r\n                length++;\r\n                if (isRefresh) {\r\n                  this.DashboardService.refreshGadget.next({\r\n                    newId: id,\r\n                    dashboardId: dashboard && dashboard.id,\r\n                  });\r\n                }\r\n                if (portlets.length === length) {\r\n                  if (isRefresh) {\r\n                    this.DashboardService.startRefresh.next(false);\r\n                  }\r\n                  callback();\r\n                }\r\n              } else {\r\n                result = this.pbf.formatResponse(result);\r\n                result[\"data\"].forEach((item) => {\r\n                  item.Sector = this.translation[item.Sector] || item.Sector;\r\n                });\r\n                this.portletData_New[dashboard.id][id] = result;\r\n                if (isRefresh) {\r\n                  this.DashboardService.refreshGadget.next({\r\n                    newId: id,\r\n                    dashboardId: dashboard && dashboard.id,\r\n                  });\r\n                }\r\n                length++;\r\n                if (portlets.length === length) {\r\n                  if (isRefresh) {\r\n                    this.DashboardService.startRefresh.next(false);\r\n                  }\r\n                  callback();\r\n                }\r\n              }\r\n            },\r\n            (response) => {\r\n              this.portletFields_Temp[id] = initFieldsArr;\r\n              length++;\r\n              if (portlets.length === length) {\r\n                callback();\r\n              }\r\n            },\r\n            () => {}\r\n          );\r\n      }\r\n    } else {\r\n      callback();\r\n    }\r\n  }\r\n\r\n  public clearFieldsObj(portlet) {\r\n    Reflect.deleteProperty(this.allFieldsObj, portlet.id);\r\n  }\r\n\r\n  // 根据portlet 解析params\r\n  public getParamsByPortlet(\r\n    portlet,\r\n    pageSetting?,\r\n    allFields?: any[],\r\n    dashboard?: any\r\n  ) {\r\n    let dashboardDataTableId = portlet.dashboardDataTableId;\r\n    //SMP2-7731 get the dashboardDataTableid from dataMartTables arrary\r\n    let curDataMart = this.dataMartTables[dashboard.id].find(\r\n      (d) => d.datamartCode === portlet.figureCode\r\n    );\r\n    if (curDataMart) {\r\n      dashboardDataTableId = curDataMart.id;\r\n    }\r\n\r\n    let config = portlet.config && JSON.parse(portlet.config);\r\n    if (portlet.id !== \"00000000-0000-0000-0000-000000000000\") {\r\n      this.allFieldsObj[portlet.id] = allFields;\r\n    }\r\n    let fields = allFields\r\n      ? this.setConfigFields(allFields, config.fields)\r\n      : config.fields;\r\n    if (allFields) {\r\n      config.fields = fields;\r\n      portlet.config = JSON.stringify(config);\r\n    }\r\n    let calculatedFields = config.calculatedFieldSettings;\r\n    let needFields = [];\r\n    let params: any = {};\r\n    const portletType =\r\n      config.portletType === \"historicalIRR\"\r\n        ? config.selectedVisualType\r\n        : config.portletType;\r\n    if (\r\n      config.QTQendDate &&\r\n      [\"SeeThroughPositionComparison\"].includes(portlet.figureCode)\r\n    ) {\r\n      params.endDate = config.QTQendDate;\r\n    }\r\n    if (portletType === \"table\") {\r\n      fields &&\r\n        fields.forEach((x) => {\r\n          needFields.push(x.colName);\r\n        });\r\n\r\n      params.startIndex = 0;\r\n      params.pageSize = config.pvPageSize || 10;\r\n      if (pageSetting && pageSetting.currentPage) {\r\n        params.startIndex =\r\n          (pageSetting.currentPage - 1) * pageSetting.pageSize;\r\n        params.pageSize = pageSetting.pageSize;\r\n      }\r\n      // 处理 sort\r\n      if (pageSetting && pageSetting.sortedColumn) {\r\n        params.sortedColumn = pageSetting.sortedColumn;\r\n        params.sort = pageSetting.sort;\r\n      }\r\n      // 处理 filter\r\n      if (config.filterSettings.length) {\r\n        let filterSettings = JSON.parse(JSON.stringify(config.filterSettings));\r\n        params.columnFilter = filterSettings.map((x) => {\r\n          if (x.type === \"date\") {\r\n            const date = new Date(x.value);\r\n            const year = date.getFullYear();\r\n            const month = String(date.getMonth() + 1).padStart(2, \"0\");\r\n            const day = String(date.getDate()).padStart(2, \"0\");\r\n            const formattedDate = `${year}-${month}-${day}`;\r\n            x.value = formattedDate;\r\n          }\r\n          return x;\r\n        });\r\n      }\r\n      params.isTable = true;\r\n    } else if (portletType === \"transpose\") {\r\n      fields &&\r\n        fields.forEach((x) => {\r\n          if (!x.isHidden) {\r\n            needFields.push(x.colName);\r\n          }\r\n        });\r\n    } else if (\r\n      [\"newcolumn\", \"newline\", \"newcolumnline\"].includes(portletType)\r\n    ) {\r\n      if (config.selectedY && config.selectedY.length > 0) {\r\n        config.selectedY.forEach((e) => {\r\n          needFields.push(e);\r\n        });\r\n      }\r\n      if (config.selectedSecondY && config.selectedSecondY.length > 0) {\r\n        config.selectedSecondY.forEach((e) => {\r\n          needFields.push(e);\r\n        });\r\n      }\r\n    } else {\r\n      // 处理 filters\r\n      let filters = config.filters;\r\n      if (filters && filters.length) {\r\n        for (let item of filters) {\r\n          needFields.push(item.name);\r\n        }\r\n      }\r\n\r\n      // 处理 values\r\n      let series = config.yaxis.series;\r\n      if (series && series.length) {\r\n        for (let item of series) {\r\n          if (\r\n            [\r\n              \"CalculateIRR\",\r\n              \"CalculateIRRMTD\",\r\n              \"CalculateIRRQTD\",\r\n              \"CalculateIRRYTD\",\r\n              \"CalculateTWRMTD\",\r\n              \"CalculateTWRQTD\",\r\n              \"CalculateTWRYTD\",\r\n              \"CalculateVARMTD_99\",\r\n              \"CalculateVARQTD_99\",\r\n              \"CalculateVARYTD_99\",\r\n              \"CalculateVARMTD_95\",\r\n              \"CalculateVARQTD_95\",\r\n              \"CalculateVARYTD_95\",\r\n            ].includes(item.calMethod)\r\n          ) {\r\n            needFields.push(\"IRRAmount\", \"IRRDate\", \"IRRAdjValue\");\r\n          } else if (item.calMethod === \"CalculateIRRBeforeCarried\") {\r\n            needFields.push(\"IRRAmount\", \"IRRDate\", \"IRRAdjValueBeforeCarry\");\r\n          } else if (item.calMethod === \"CalculateIRRIRRDate\") {\r\n            needFields.push(\"IRRAmount\", \"CalculateIRRDate\", \"IRRAdjValue\");\r\n          } else if (item.calMethod === \"CalculateIRRDueDate\") {\r\n            needFields.push(\"IRRAmount\", \"CalculateIRRDueDate\", \"IRRAdjValue\");\r\n          } else if (item.calMethod === \"CalculateIRRActualAudited\") {\r\n            portlet.figureCode === \"GrossNet\" ||\r\n            portlet.figureCode === \"CombinedInvestmentFundNCompanyCashflow\"\r\n              ? needFields.push(\"IRRAmount\", \"IRRDate\", \"ActualAuditedNAV\")\r\n              : needFields.push(\"IRRAmount\", \"IRRDate\", \"IRRAdjValue\");\r\n          } else if (item.calMethod === \"CalculateIRRReported\") {\r\n            portlet.figureCode === \"GrossNet\" ||\r\n            portlet.figureCode === \"CombinedInvestmentFundNCompanyCashflow\"\r\n              ? needFields.push(\"IRRAmount\", \"IRRDate\", \"ReportedNAV\")\r\n              : needFields.push(\"IRRAmount\", \"IRRDate\", \"IRRAdjValue\");\r\n          } else if (item.calMethod === \"CalculatedField\") {\r\n          } else {\r\n            let colName = this.getAggregateType(item.calMethod);\r\n            if (colName) {\r\n              let curField = fields.find((f) => f.colName === colName);\r\n              if (curField && curField.formula) {\r\n                let fs = curField.formula.split(\"/\");\r\n                fs && fs.map((f) => needFields.push(f));\r\n              }\r\n            } else {\r\n              needFields.push(item.colName);\r\n            }\r\n          }\r\n        }\r\n      }\r\n      // 处理 rows\r\n      let groups = config.xaxis.groups;\r\n      if (groups && groups.length) {\r\n        for (let gitem of groups) {\r\n          needFields.push(gitem.name);\r\n        }\r\n      }\r\n      // 处理 colunms\r\n      let columnGroup = config.columnGroup;\r\n      if (columnGroup && columnGroup.length) {\r\n        for (let item of columnGroup) {\r\n          needFields.push(item.name);\r\n        }\r\n      }\r\n      // 处理 calculatedField\r\n      if (calculatedFields && calculatedFields.length) {\r\n        calculatedFields.map((f) => {\r\n          let string = f.formula;\r\n          const regex = /\\((.*?)\\)/g;\r\n          const matches = string\r\n            .match(regex)\r\n            .map((match) => match.slice(1, -1));\r\n          needFields.push(...matches);\r\n        });\r\n      }\r\n      // 处理 orderByColumns\r\n      if (this.dashboardConfig && this.dashboardConfig[dashboard.id]) {\r\n        params.datamartViewId =\r\n          this.dashboardConfig[dashboard.id].datamartViewId;\r\n        params.datamartId = this.dashboardConfig[dashboard.id].datamartId;\r\n        params.datamartCode = portlet.figureCode;\r\n      }\r\n      // 处理config.fields里的sortColumn\r\n      let fieldSortColumns = [];\r\n      fields.map((x) => {\r\n        if (x.sortColumn && !fieldSortColumns.includes(x.sortColumn)) {\r\n          fieldSortColumns.push(x.sortColumn);\r\n        }\r\n      });\r\n      if (fieldSortColumns.length) {\r\n        needFields.push(...fieldSortColumns);\r\n      }\r\n    }\r\n\r\n    needFields = Array.from(new Set(needFields));\r\n    // 去除非法字段\r\n    let legalFields = fields.map((x) => x.colName);\r\n    needFields.map((x, i) => {\r\n      if (!legalFields.includes(x)) {\r\n        needFields.splice(i, 1);\r\n      }\r\n    });\r\n    if (needFields.length === 0) {\r\n      if (legalFields[0]) {\r\n        needFields.push(legalFields[0]);\r\n      }\r\n    }\r\n    // 默认获取Seq字段 SMP2-4582 AGIC - Dashboard item sequence\r\n    needFields.push(\"Seq\");\r\n\r\n    if (portletType === \"map\") {\r\n      needFields.push(\"Latitude\");\r\n      needFields.push(\"Longitude\");\r\n    }\r\n\r\n    // \"newcolumn\", \"newline\", \"newcolumnline\" 如果是这三种类型默认加 OperationDate 字段\r\n    if ([\"newcolumn\", \"newline\", \"newcolumnline\"].includes(portletType)) {\r\n      needFields.push(config.selectedX);\r\n      params[\"IsOnlyShowDisplayColum\"] = true;\r\n    }\r\n    if (config.portletType === \"historicalIRR\") {\r\n      if (!params.columnFilter) {\r\n        params.columnFilter = [];\r\n      }\r\n      params.columnFilter.push(\r\n        {\r\n          Field: \"Frequencys\",\r\n          Operator: \"equal\",\r\n          Type: \"string\",\r\n          Value: config.selectedMultiples,\r\n        },\r\n        {\r\n          Field: \"InvestorType\",\r\n          Operator: \"equal\",\r\n          Type: \"string\",\r\n          Value: config.selectedInvestor,\r\n        }\r\n      );\r\n    }\r\n    params.dashboardDataTableId = dashboardDataTableId;\r\n    if (needFields.find((f) => f.toLowerCase() === \"companyname\")) {\r\n      needFields.push(\"CompanyId\");\r\n    }\r\n    if (needFields.find((f) => f.toLowerCase() === \"fundname\")) {\r\n      needFields.push(\"FundId\");\r\n    }\r\n    if (\r\n      needFields.find((f) => f.toLowerCase() === \"investmententity\") ||\r\n      needFields.find((f) => f.toLowerCase() === \"name\") ||\r\n      needFields.find((f) => f.toLowerCase() === \"entityname\")\r\n    ) {\r\n      needFields.push(\"FundId\");\r\n      needFields.push(\"CompanyId\");\r\n    }\r\n    params.displayColumnFilter = needFields.join(\",\");\r\n    params.responseType = \"json\";\r\n\r\n    return params;\r\n  }\r\n\r\n  // 是否需要重新发起请求\r\n  public needGetPortletData(origin = [], compare = []) {\r\n    return compare.some((c) => !origin.includes(c));\r\n  }\r\n\r\n  public setDataManager(\r\n    figureCodes,\r\n    callback,\r\n    portletTypes = [],\r\n    dashboardId,\r\n    portlet?: any,\r\n    shouldSkip = false\r\n  ) {\r\n    let length = 0;\r\n    if (!this.fieldsArr[dashboardId]) {\r\n      this.fieldsArr[dashboardId] = {};\r\n    }\r\n    if (\r\n      this.dataMartTables[dashboardId] &&\r\n      this.dataMartTables[dashboardId].length\r\n    ) {\r\n      this.pbf.pageLoading = true;\r\n      this.pbf.pageLoading_.next(true);\r\n      let dataMartTables = this.dataMartTables[dashboardId].filter((el) =>\r\n        figureCodes.includes(el.datamartCode)\r\n      );\r\n      if (dataMartTables.length) {\r\n        forEach(dataMartTables, (item, index) => {\r\n          let allFields;\r\n          let config;\r\n          if (portlet) {\r\n            config = JSON.parse(portlet.config);\r\n          }\r\n          if (\r\n            [\"newcolumn\", \"newline\", \"newcolumnline\"].includes(portletTypes[0])\r\n          ) {\r\n            allFields = config.selectedY\r\n              .concat(config.selectedSecondY)\r\n              .concat([config.selectedX])\r\n              .map((e) => {\r\n                return {\r\n                  colName: e,\r\n                };\r\n              });\r\n          } else {\r\n            allFields =\r\n              this.fieldsArr[dashboardId] &&\r\n              this.fieldsArr[dashboardId][item.datamartCode]\r\n                ? this.fieldsArr[dashboardId][item.datamartCode]\r\n                : [];\r\n          }\r\n          let displayColumnFilter =\r\n            allFields && allFields.map((x) => x.colName).join(\",\");\r\n          // 地图类型时获取经纬度\r\n          if (portletTypes[0] === \"map\") {\r\n            displayColumnFilter = \"Latitude,Longitude\";\r\n          }\r\n\r\n          let params: any = {\r\n            dashboardDataTableId: item.id,\r\n            displayColumnFilter: displayColumnFilter,\r\n            responseType: \"json\",\r\n            dashboardVersion: 2,\r\n          };\r\n          if (\r\n            config.QTQendDate &&\r\n            [\"SeeThroughPositionComparison\"].includes(item.datamartCode)\r\n          ) {\r\n            if (shouldSkip) {\r\n              params.IsLoadSkipUpdate = true;\r\n            }\r\n            params.endDate = config.QTQendDate;\r\n          }\r\n          params.startIndex = 0;\r\n          params.pageSize = 10;\r\n\r\n          if (\r\n            portletTypes &&\r\n            portletTypes.length > 0 &&\r\n            (portletTypes.includes(\"newcolumn\") ||\r\n              portletTypes.includes(\"newline\") ||\r\n              portletTypes.includes(\"newcolumnline\"))\r\n          ) {\r\n            params.pageSize = 1000000;\r\n            params[\"IsOnlyShowDisplayColum\"] = true;\r\n          }\r\n\r\n          if (config) {\r\n            const filterSettings = config.filterSettings;\r\n\r\n            if (filterSettings && filterSettings.length) {\r\n              if (!params.columnFilter) {\r\n                params.columnFilter = [];\r\n              }\r\n              filterSettings.forEach((setting) => {\r\n                if (config.portletType === \"pivot\") {\r\n                  return;\r\n                }\r\n                const _field = config.fields.find(\r\n                  (item) => item.colName === setting.name\r\n                );\r\n                const Type = _field && _field.dataType;\r\n                if (setting.items) {\r\n                  setting.items.forEach((item) => {\r\n                    params.columnFilter.push({\r\n                      Field: setting.name,\r\n                      Operator: \"equal\",\r\n                      Type,\r\n                      Value:\r\n                        Type === \"date\"\r\n                          ? moment(item).format(\"yyyy-MM-DD\")\r\n                          : Type === \"datetime\"\r\n                          ? moment(item).format(\"yyyy-MM-DD hh:mm:ss\")\r\n                          : item,\r\n                    });\r\n                  });\r\n                } else if (setting.operator) {\r\n                  params.columnFilter.push({\r\n                    Field: setting.field,\r\n                    Operator: \"equal\",\r\n                    Type: setting.type,\r\n                    Value:\r\n                      setting.type === \"date\"\r\n                        ? moment(setting.value).format(\"yyyy-MM-DD\")\r\n                        : setting.type === \"datetime\"\r\n                        ? moment(setting.value).format(\"yyyy-MM-DD hh:mm:ss\")\r\n                        : setting.value,\r\n                  });\r\n                }\r\n              });\r\n            }\r\n            if (config.portletType === \"historicalIRR\") {\r\n              if (!params.columnFilter) {\r\n                params.columnFilter = [];\r\n              }\r\n              params.columnFilter.push(\r\n                {\r\n                  Field: \"Frequencys\",\r\n                  Operator: \"equal\",\r\n                  Type: \"string\",\r\n                  Value: config.selectedMultiples,\r\n                },\r\n                {\r\n                  Field: \"InvestorType\",\r\n                  Operator: \"equal\",\r\n                  Type: \"string\",\r\n                  Value: config.selectedInvestor,\r\n                }\r\n              );\r\n            }\r\n          }\r\n          if (params.columnFilter instanceof Array) {\r\n            params.columnFilter = params.columnFilter.filter(\r\n              (item) => item.Field\r\n            );\r\n          }\r\n\r\n          // json buffer\r\n          this.httpClient\r\n            .post(\r\n              this.api.baseurl + this.api.urlList.GetPortletDataOrCreate,\r\n              params\r\n            )\r\n            .subscribe(\r\n              (result) => {\r\n                let identifier =\r\n                  portlet.id === \"00000000-0000-0000-0000-000000000000\"\r\n                    ? portlet.newId\r\n                    : portlet.id;\r\n                if (!result) {\r\n                  this.portletResults_New[dashboardId][item.datamartCode] = [];\r\n                  if (portlet) {\r\n                    this.portletData_New[dashboardId][identifier] = {\r\n                      total: 0,\r\n                      data: [],\r\n                    };\r\n                  }\r\n                  let message = this.translation.NO_DATA\r\n                    ? this.translation.NO_DATA\r\n                    : \".No data, please choose another data type\";\r\n                  this.dialogService.showNotification(message, {\r\n                    status: \"Error\",\r\n                  });\r\n                  length++;\r\n                  if (dataMartTables.length === length) {\r\n                    callback();\r\n                  }\r\n                } else {\r\n                  result = this.pbf.formatResponse(result);\r\n                  result[\"data\"].forEach((item) => {\r\n                    item.Sector = this.translation[item.Sector] || item.Sector;\r\n                  });\r\n                  if (\r\n                    this.fieldsArr[dashboardId] &&\r\n                    Object.keys(this.fieldsArr[dashboardId]).length\r\n                  ) {\r\n                    this.portletResults_New[dashboardId][item.datamartCode] =\r\n                      result;\r\n                  }\r\n                  if (portlet) {\r\n                    this.portletData_New[dashboardId][identifier] = result;\r\n                  }\r\n                  length++;\r\n                  if (dataMartTables.length === length) {\r\n                    callback();\r\n                  }\r\n                }\r\n              },\r\n              (response) => {\r\n                length++;\r\n                if (dataMartTables.length === length) {\r\n                  callback();\r\n                }\r\n              },\r\n              () => {}\r\n            );\r\n        });\r\n      } else {\r\n        callback();\r\n      }\r\n    }\r\n  }\r\n\r\n  public ExcelFormulas = {\r\n    DaysBetween: function (date1, date2) {\r\n      var oneDay = 24 * 60 * 60 * 1000;\r\n      return Math.round(Math.abs((date1.getTime() - date2.getTime()) / oneDay));\r\n    },\r\n    XNPV: function (rate, values) {\r\n      var xnpv = 0.0;\r\n      var firstDate = new Date(values[0].date);\r\n      for (var key in values) {\r\n        var tmp = values[key];\r\n        var value = tmp.amount;\r\n        var date = new Date(tmp.date);\r\n        xnpv +=\r\n          value / Math.pow(1 + rate, this.DaysBetween(firstDate, date) / 365);\r\n      }\r\n      return xnpv;\r\n    },\r\n    XIRR: function (values, guess) {\r\n      var x1 = 0.0;\r\n      var x2: number = guess;\r\n      var f1 = this.XNPV(x1, values);\r\n      var f2 = this.XNPV(x2, values);\r\n      for (var i = 0; i < 100; i++) {\r\n        if (f1 * f2 < 0.0) break;\r\n        if (Math.abs(f1) < Math.abs(f2)) {\r\n          f1 = this.XNPV((x1 += 1.6 * (x1 - x2)), values);\r\n        } else {\r\n          f2 = this.XNPV((x2 += 1.6 * (x2 - x1)), values);\r\n        }\r\n      }\r\n      if (f1 * f2 > 0.0) return null;\r\n      var f = this.XNPV(x1, values);\r\n      if (f < 0.0) {\r\n        var rtb = x1;\r\n        var dx = x2 - x1;\r\n      } else {\r\n        var rtb = x2;\r\n        var dx = x1 - x2;\r\n      }\r\n      for (var i = 0; i < 100; i++) {\r\n        dx *= 0.5;\r\n        var x_mid = rtb + dx;\r\n        var f_mid = this.XNPV(x_mid, values);\r\n        if (f_mid <= 0.0) rtb = x_mid;\r\n        if (Math.abs(f_mid) < 1.0e-6 || Math.abs(dx) < 1.0e-6) return x_mid;\r\n      }\r\n      return null;\r\n    },\r\n    _DaysBetween: function (date1, date2) {\r\n      //const time1 =new Date(Date.UTC(date1.getUTCFullYear(), date1.getUTCMonth(), date1.getUTCDate(), date1.getUTCHours(), date1.getUTCMinutes(), date1.getUTCSeconds())).getTime();\r\n      //const time2 =new Date(Date.UTC(date2.getUTCFullYear(), date2.getUTCMonth(), date2.getUTCDate(), date2.getUTCHours(), date2.getUTCMinutes(), date2.getUTCSeconds())).getTime();\r\n      const oneDay = 24 * 60 * 60 * 1000; // 一天的毫秒数\r\n      //const time1 = date1.getTime(); // date1的毫秒表示\r\n      //const time2 = date2.getTime(); // date2的毫秒表示\r\n      const firstDate = new Date(date1);\r\n      const secondDate = new Date(date2);\r\n      const diffDays = Math.round(\r\n        // @ts-ignore\r\n        Math.abs((firstDate - secondDate) / oneDay)\r\n      ); // 计算天数差并取整\r\n      return diffDays;\r\n    },\r\n\r\n    _lcl_sca_XirrResult: function (values, dates, fRate) {\r\n      var D_0 = dates[0];\r\n      let r = fRate + 1.0;\r\n      var fResult = values[0];\r\n      for (var i = 1, nCount = values.length; i < nCount; ++i) {\r\n        var temp = Math.pow(r, this._DaysBetween(dates[i], D_0) / 365.0);\r\n        fResult += values[i] / temp;\r\n      }\r\n      return fResult;\r\n    },\r\n\r\n    _lcl_sca_XirrResult_Deriv1: function (values, dates, fRate) {\r\n      var D_0 = dates[0];\r\n      var r = fRate + 1.0;\r\n      var fResult = 0.0;\r\n      for (var i = 1, nCount = values.length; i < nCount; ++i) {\r\n        var E_i = this._DaysBetween(dates[i], D_0) / 365.0;\r\n        fResult -= (E_i * values[i]) / Math.pow(r, E_i + 1.0);\r\n      }\r\n      return fResult;\r\n    },\r\n\r\n    _CalculateXirrOpenOffice: function (values, dates, guess) {\r\n      if (values.length < 2 || values.length != dates.length) {\r\n        return null;\r\n      }\r\n\r\n      var fResultRate = guess;\r\n      if (fResultRate <= -1) {\r\n        return null;\r\n      }\r\n\r\n      var fMaxEps = 0.00000001;\r\n      var nMaxIter = 50;\r\n\r\n      var fNewRate, fRateEps, fResultValue;\r\n      var nIter = 0;\r\n      var nIterScan = 0;\r\n      var bContLoop = false;\r\n      var bResultRateScanEnd = false;\r\n\r\n      do {\r\n        if (nIterScan >= 1) {\r\n          fResultRate = -0.99 + (nIterScan - 1) * 0.01;\r\n        }\r\n        do {\r\n          fResultValue = this._lcl_sca_XirrResult(values, dates, fResultRate);\r\n          fNewRate =\r\n            fResultRate -\r\n            fResultValue /\r\n              this._lcl_sca_XirrResult_Deriv1(values, dates, fResultRate);\r\n          fRateEps = Math.abs(fNewRate - fResultRate);\r\n          fResultRate = fNewRate;\r\n          bContLoop = fRateEps > fMaxEps && Math.abs(fResultValue) > fMaxEps;\r\n        } while (bContLoop && ++nIter < nMaxIter);\r\n        nIter = 0;\r\n        if (\r\n          isNaN(fResultRate) ||\r\n          !isFinite(fResultRate) ||\r\n          isNaN(fResultValue) ||\r\n          !isFinite(fResultValue)\r\n        ) {\r\n          bContLoop = true;\r\n        }\r\n\r\n        ++nIterScan;\r\n        bResultRateScanEnd = nIterScan >= 100;\r\n      } while (bContLoop && !bResultRateScanEnd);\r\n\r\n      if (bContLoop) {\r\n        return null;\r\n      }\r\n      return fResultRate;\r\n    },\r\n\r\n    _CalculateXirr: function (\r\n      valueList,\r\n      dateList,\r\n      navAdjust,\r\n      latestDate,\r\n      lastObj?\r\n    ) {\r\n      var positiveCashflow = valueList.some(function (v) {\r\n        return v > 0;\r\n      })\r\n        ? true\r\n        : navAdjust > 0\r\n        ? true\r\n        : false;\r\n      var negativeCashflow = valueList.some(function (v) {\r\n        return v < 0;\r\n      })\r\n        ? true\r\n        : navAdjust < 0\r\n        ? true\r\n        : false;\r\n\r\n      if (positiveCashflow == false && negativeCashflow == false) return 0;\r\n\r\n      if (positiveCashflow == false || negativeCashflow == false) {\r\n        if (navAdjust === 0 && negativeCashflow) {\r\n          return -1;\r\n        } else {\r\n          return null;\r\n        }\r\n      }\r\n\r\n      if (navAdjust != null) {\r\n        valueList.push(navAdjust);\r\n        dateList.push(latestDate);\r\n      }\r\n\r\n      var xirrResult = null;\r\n      try {\r\n        var sum = valueList.reduce(function (sum, value) {\r\n          return sum + value;\r\n        }, 0);\r\n        var excelGuess = sum < 0 ? -0.1 : 0.1;\r\n        xirrResult = this._CalculateXirrOpenOffice(\r\n          valueList,\r\n          dateList,\r\n          excelGuess\r\n        );\r\n        if (xirrResult == null) {\r\n          let times = 2;\r\n          var excelExtremeGuess = sum < 0 ? -0.9 : 0.9;\r\n          while (xirrResult == null && times < 9) {\r\n            excelExtremeGuess =\r\n              sum < 0\r\n                ? excelExtremeGuess - 9 / Math.pow(10, times)\r\n                : excelExtremeGuess + 9 / Math.pow(10, times);\r\n            xirrResult = this._CalculateXirrOpenOffice(\r\n              valueList,\r\n              dateList,\r\n              excelExtremeGuess\r\n            );\r\n            times++;\r\n          }\r\n          if (xirrResult == null && lastObj.NAVAdj == 0) {\r\n            let deltaValue = 1e-8;\r\n            let attempt = 0;\r\n            let adjustedValues = [...valueList];\r\n            let dateList2 = [...dateList];\r\n            while (xirrResult == null && attempt < 7) {\r\n              if (valueList.length > 0) {\r\n                adjustedValues[valueList.length] = deltaValue;\r\n                dateList2[dateList.length] = lastObj.IRRDate;\r\n              }\r\n              xirrResult = this._CalculateXirrOpenOffice(\r\n                adjustedValues,\r\n                dateList2,\r\n                excelExtremeGuess\r\n              );\r\n              deltaValue *= 10;\r\n              attempt++;\r\n            }\r\n          }\r\n        }\r\n      } catch (error) {\r\n        return null;\r\n      }\r\n\r\n      return xirrResult;\r\n    },\r\n  };\r\n\r\n  // 拿到数据后，先遍历config.filterSettings,如果在数据中不存在，就删除这一项\r\n  checkFilterSettings(config, fields, data) {\r\n    let filterSettings = config.filterSettings;\r\n    if (filterSettings && filterSettings.length) {\r\n      for (let i = 0; i < filterSettings.length; i++) {\r\n        const element = filterSettings[i];\r\n        let __field = fields.filter(\r\n          (field) => field.colName == element.name\r\n        )[0];\r\n        if (!__field) {\r\n          // 处理自定义 Group的Filter\r\n          continue;\r\n        }\r\n        const dataType = __field.dataType;\r\n        if (element.items && element.items.length) {\r\n          for (let r = 0; r < element.items.length; r++) {\r\n            const item = element.items[r];\r\n            let res = [];\r\n            if (\r\n              dataType !== \"date\" &&\r\n              dataType !== \"datetime\" &&\r\n              data &&\r\n              data.length\r\n            ) {\r\n              if (dataType == \"string\") {\r\n                res = data.filter((obj) => obj[element.name] === item);\r\n              } else {\r\n                res = data.filter(\r\n                  (obj) => Number(obj[element.name]) === Number(item)\r\n                );\r\n              }\r\n            }\r\n            if (dataType == \"date\" || dataType == \"datetime\") {\r\n              res = data.filter(\r\n                (obj) =>\r\n                  moment(obj[element.name]).format(\"YYYY-MM-DD\") ==\r\n                  moment(item).format(\"YYYY-MM-DD\")\r\n              );\r\n            }\r\n            if (!res.length) {\r\n              element.items.splice(r, 1);\r\n              r--;\r\n            }\r\n          }\r\n          if (!element.items.length) {\r\n            filterSettings.splice(i, 1);\r\n            i--;\r\n          }\r\n        }\r\n      }\r\n      return filterSettings;\r\n    } else {\r\n      return [];\r\n    }\r\n    // callback(filterSettings);\r\n  }\r\n\r\n  sortDataMartTables(data) {\r\n    data.sort((a, b) => {\r\n      const langValueA = a.langValue.toLowerCase();\r\n      const langValueB = b.langValue.toLowerCase();\r\n\r\n      if (langValueA < langValueB) {\r\n        return -1;\r\n      }\r\n      if (langValueA > langValueB) {\r\n        return 1;\r\n      }\r\n      return 0;\r\n    });\r\n  }\r\n\r\n  setAllDashboard(dashboard) {\r\n    let data = {\r\n      accountId: this.userInfo.accountId,\r\n      username: this.userInfo.username,\r\n      language: this.lang,\r\n      version: 1,\r\n      dashboardVersion: 2,\r\n    };\r\n    this.http.get(this.api.urlList.GetDashboardGroup, data, (res) => {\r\n      this.pbf.pageLoading = false;\r\n      this.pbf.pageLoading_.next(true);\r\n\r\n      if (res && res.length) {\r\n        const InvalidID = \"00000000-0000-0000-0000-000000000000\";\r\n        let labelIsNull = res.filter(\r\n          (group) => group.id == InvalidID && group.name === null\r\n        );\r\n        let allDashboards = [];\r\n        if (labelIsNull && labelIsNull.length) {\r\n          allDashboards = labelIsNull[0].dashboardList;\r\n          res = res.filter(\r\n            (group) => group.id !== InvalidID && group.name !== null\r\n          );\r\n        }\r\n        // 处理数据，筛选出数据属于customized页面还是shared页面\r\n        for (const group of res) {\r\n          group.type = \"Dashboard\";\r\n\r\n          if (group.dashboardList && group.dashboardList.length) {\r\n            let dashboardList = JSON.parse(JSON.stringify(group.dashboardList));\r\n            // 获取customized页面的数据\r\n            group.dashboardList = dashboardList.filter(\r\n              (dashboard) => !dashboard.share\r\n            );\r\n            allDashboards = allDashboards.concat(group.dashboardList);\r\n          }\r\n        }\r\n        this.allDashboardList[dashboard.id] = allDashboards.map((item) => {\r\n          return {\r\n            code: item.id,\r\n            text: item.name,\r\n            entityType: item.entityType,\r\n            dashboardGroupId: item.dashboardGroupId,\r\n            dashboardGroupName: item.dashboardGroupName,\r\n            RegionDataSetId: item.RegionDataSetId,\r\n          };\r\n        });\r\n      }\r\n      // 获取report数据\r\n    });\r\n  }\r\n\r\n  renameDataMartTables(data, id, entityType) {\r\n    if (this.sourcesData[id]) {\r\n      this.sourcesData[id].forEach((sources) => {\r\n        if (sources.entityType === entityType) {\r\n          data.forEach((_data) => {\r\n            sources.views.forEach((view) => {\r\n              view.tables.forEach((table) => {\r\n                if (table.datamartCode === _data.datamartCode) {\r\n                  _data.langValue = table.langValue;\r\n                  _data.langCode = table.langCode;\r\n                }\r\n              });\r\n            });\r\n          });\r\n        }\r\n      });\r\n    } else {\r\n      return data;\r\n    }\r\n  }\r\n}\r\nexport const ALL_AGGREGATE_TYPES = [\r\n  \"Sum\",\r\n  \"First\",\r\n  \"Last\",\r\n  \"CalculateIRR\",\r\n  \"CalculateIRRDueDate\",\r\n  \"CalculateIRRIRRDate\",\r\n  \"CalculateIRRBeforeCarried\",\r\n  \"CalculateIRRActualAudited\",\r\n  \"CalculateIRRReported\",\r\n  \"CalculateIRRMTD\",\r\n  \"CalculateIRRQTD\",\r\n  \"CalculateIRRYTD\",\r\n  \"CalculateTWRMTD\",\r\n  \"CalculateTWRQTD\",\r\n  \"CalculateTWRYTD\",\r\n  \"CalculateVARMTD_99\",\r\n  \"CalculateVARQTD_99\",\r\n  \"CalculateVARYTD_99\",\r\n  \"CalculateVARMTD_95\",\r\n  \"CalculateVARQTD_95\",\r\n  \"CalculateVARYTD_95\",\r\n  \"CalculateMultiple\",\r\n  \"CalculatePIC\",\r\n  \"CalculateDPI\",\r\n  \"CalculateTVPI\",\r\n  \"CalculateRVPI\",\r\n  \"CalculateMActualAudited\",\r\n  \"CalculateMReported\",\r\n  \"Count\",\r\n  \"DistinctCount\",\r\n  \"Product\",\r\n  \"Min\",\r\n  \"Max\",\r\n  \"Avg\",\r\n  \"Median\",\r\n  \"Index\",\r\n  \"PopulationVar\",\r\n  \"SampleVar\",\r\n  \"PopulationStDev\",\r\n  \"SampleStDev\",\r\n  \"RunningTotals\",\r\n  \"PercentageOfGrandTotal\",\r\n  \"PercentageOfColumnTotal\",\r\n  \"PercentageOfRowTotal\",\r\n  \"PercentageOfParentColumnTotal\",\r\n  \"PercentageOfParentRowTotal\",\r\n  \"DifferenceFrom\",\r\n  \"PercentageOfDifferenceFrom\",\r\n  \"PercentageOfParentTotal\",\r\n];\r\n\r\nlet translation = getTranslation();\r\nexport const AGGREGATE_TYPES_TEXT = {\r\n  CalculateIRR: translation.CALCULATE_IRR || \"Calculate IRR\",\r\n  CalculateIRRDueDate:\r\n    translation.CALCULATE_IRR_DUE_DATE || \"Calculate IRR (Due Date)\",\r\n  CalculateIRRIRRDate:\r\n    translation.CALCULATE_IRR_IRR_DATE || \"Calculate IRR (IRR Date)\",\r\n  CalculateIRRBeforeCarried:\r\n    translation.CALCULATE_IRR_BEFORE_CARRY || \"Calculate IRR Before Carried\",\r\n  CalculateIRRActualAudited:\r\n    translation.CALCULATE_IRR_ACTUAL_AUDITED || \"Calculate IRR Actual/Audited\",\r\n  CalculateIRRReported: translation.CI_REPORTED || \"Calculate IRR Reported\",\r\n  CalculateIRRMTD: translation.CALCULATE_IRR_MTD || \"Calculate IRR (MTD)\",\r\n  CalculateIRRQTD: translation.CALCULATE_IRR_QTD || \"Calculate IRR (QTD)\",\r\n  CalculateIRRYTD: translation.CALCULATE_IRR_YTD || \"Calculate IRR (YTD)\",\r\n  CalculateTWRMTD: translation.CALCULATE_TWR_MTD || \"Calculate TWR (M)\",\r\n  CalculateTWRQTD: translation.CALCULATE_TWR_QTD || \"Calculate TWR (Q)\",\r\n  CalculateTWRYTD: translation.CALCULATE_TWR_YTD || \"Calculate TWR (Y)\",\r\n  CalculateVARMTD_99:\r\n    translation.CALCULATE_VAR_MTD_99 || \"Calculate VAR (M 99%)\",\r\n  CalculateVARQTD_99:\r\n    translation.CALCULATE_VAR_QTD_99 || \"Calculate VAR (Q 99%)\",\r\n  CalculateVARYTD_99:\r\n    translation.CALCULATE_VAR_YTD_99 || \"Calculate VAR (Y 99%)\",\r\n  CalculateVARMTD_95:\r\n    translation.CALCULATE_VAR_MTD_95 || \"Calculate VAR (M 95%)\",\r\n  CalculateVARQTD_95:\r\n    translation.CALCULATE_VAR_QTD_95 || \"Calculate VAR (Q 95%)\",\r\n  CalculateVARYTD_95:\r\n    translation.CALCULATE_VAR_YTD_95 || \"Calculate VAR (Y 95%)\",\r\n  CalculateMultiple: translation.CALCULATE_MULTIPLE || \"Calculate Multiple\",\r\n  CalculatePIC: translation.CALCULATE_PIC || \"Calculate PIC\",\r\n  CalculateDPI: translation.CALCULATE_DPI || \"Calculate DPI\",\r\n  CalculateTVPI: translation.CALCULATE_TVPI || \"Calculate TVPI\",\r\n  CalculateRVPI: translation.CALCULATE_RVPI || \"Calculate RVPI\",\r\n  CalculateMActualAudited:\r\n    translation.CALCULATE_MULTIPLE_ACTUAL_AUDITED ||\r\n    \"Calculate Multiple Actual/Audited\",\r\n  CalculateMReported:\r\n    translation.CALCULATE_MULTIPLE_REPORTED || \"Calculate Multiple Reported\",\r\n  First: translation.CALCULATE_FIRST || \"First\",\r\n  Last: translation.LAST || \"Last\",\r\n  Median: translation.MEDIAN || \"Median\",\r\n};\r\n","import {\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  Inject,\r\n  OnInit,\r\n  QueryList,\r\n  ViewChildren,\r\n  Optional,\r\n} from \"@angular/core\";\r\nimport { DashboardService } from \"../../dashboard.service\";\r\nimport { DashboardPorletsService } from \"../../dashboardPorlets.service\";\r\n//syncfusion\r\nimport { addClass } from \"@syncfusion/ej2-base\";\r\nimport { ColorPickerComponent } from \"@syncfusion/ej2-angular-inputs\";\r\nimport { ColorPickerEventArgs } from \"@syncfusion/ej2-inputs\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { PBF_TOKEN } from \"../../../service/InjectionToken\";\r\nimport { getTranslation } from \"../../../utils/utils\";\r\nimport { DialogService } from \"../../../service/dialog.service\";\r\n\r\n@Component({\r\n  selector: \"rs-field-format\",\r\n  templateUrl: \"./field-format.component.html\",\r\n  styleUrls: [\"./field-format.component.scss\"],\r\n})\r\nexport class FieldFormatComponent implements OnInit {\r\n  @ViewChildren(\"colorpicker\") colorPicker: QueryList<ColorPickerComponent>;\r\n  @ViewChildren(\"colorpickerFont\")\r\n  colorPickerFont: QueryList<ColorPickerComponent>;\r\n  @ViewChildren(\"previewColor\") PreviewColor: QueryList<ElementRef>;\r\n  @ViewChildren(\"colorpickerBurden\")\r\n  colorpickerBurden: QueryList<ColorPickerComponent>;\r\n  @ViewChildren(\"colorpickerFontBurden\")\r\n  colorpickerFontBurden: QueryList<ColorPickerComponent>;\r\n  @ViewChildren(\"previewColorBurden\")\r\n  previewColorBurden: QueryList<ElementRef>;\r\n  public translation: any = {};\r\n  public alignList: Array<any>;\r\n  public fontSizeList: Array<any>;\r\n  public compareList: Array<any>;\r\n  public stringAndDateCompareList: Array<any>;\r\n  public fontFamilyList: Array<any>;\r\n  public compareSelect: string = \"\";\r\n  public config: any = {};\r\n  public Conditional: boolean = true;\r\n  public fieldslist = [];\r\n  public currentField;\r\n  public currentFieldFormatInfo;\r\n  private quarterFormat;\r\n  private dateFormat;\r\n  dateTypeList = [\r\n    { value: \"Quarter\", text: \"Quarter\" },\r\n    { value: \"Date\", text: \"Date\" },\r\n  ];\r\n\r\n  constructor(\r\n    private DashboardService: DashboardService,\r\n    public dashboardPorletsService: DashboardPorletsService,\r\n    private ref: ChangeDetectorRef,\r\n    @Optional() @Inject(PBF_TOKEN) public pbf: any,\r\n    public dialogRef: MatDialogRef<FieldFormatComponent>,\r\n    @Inject(MAT_DIALOG_DATA) public data: any,\r\n    private dialogService: DialogService\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.translation = getTranslation();\r\n    this.alignList = this.setAlignList();\r\n    this.fontSizeList = this.setFontSizeList();\r\n    this.compareList = this.setCompareList();\r\n    this.stringAndDateCompareList = this.setStringAndDateCompareList();\r\n    this.fontFamilyList = this.setFontFamilyList();\r\n    this.quarterFormat = this.setQuarterFormat();\r\n    this.dateFormat = this.setDateFormat();\r\n    if (this.data.portletData) this.getConditionalData();\r\n  }\r\n\r\n  // 获取field list页面数据\r\n  private getConditionalData() {\r\n    this.config = JSON.parse(this.data.portletData.config);\r\n    this.fieldslist = [];\r\n    //pivot table/chart(get the rows,colums,values etc)\r\n    if (\r\n      [\r\n        \"pivot\",\r\n        \"bar\",\r\n        \"column\",\r\n        \"line\",\r\n        \"area\",\r\n        \"pie\",\r\n        \"radar\",\r\n        \"newchart\",\r\n      ].includes(this.config.portletType)\r\n    ) {\r\n      if (this.config.xaxis.groups)\r\n        for (let group of this.config.xaxis.groups) {\r\n          this.fieldslist.push(\r\n            this.config.fields.filter((el) => el.colName === group.name)[0]\r\n          );\r\n        }\r\n      if (this.config.columnGroup)\r\n        for (let column of this.config.columnGroup) {\r\n          this.fieldslist.push(\r\n            this.config.fields.filter((el) => el.colName === column.name)[0]\r\n          );\r\n        }\r\n      if (this.config.yaxis.series)\r\n        for (let value of this.config.yaxis.series) {\r\n          const pvalue = this.config.fields.find(\r\n            (el) => el.colName === value.colName\r\n          );\r\n          let allFields = this.config.fields;\r\n          let displayName = value.title;\r\n          if (allFields && pvalue) {\r\n            const item = allFields.find(\r\n              (field) => field.colName === pvalue.colName\r\n            );\r\n            if (item) {\r\n              displayName =\r\n                (item.format &&\r\n                  item.format.length &&\r\n                  item.format[0].displayName) ||\r\n                item.langValue;\r\n            }\r\n          }\r\n          if (pvalue) {\r\n            pvalue[\"isValue\"] = true;\r\n            pvalue[\"showSubTotals\"] = value.showSubTotals;\r\n            pvalue[\"showGrandTotals\"] = value.showGrandTotals;\r\n            pvalue[\"langValue\"] = displayName;\r\n            this.fieldslist.push(pvalue);\r\n          } else {\r\n            value.isValue = true;\r\n            this.fieldslist.push({\r\n              colName: value.colName,\r\n              langValue: displayName,\r\n              isValue: true,\r\n              showSubTotals: value.showSubTotals,\r\n              showGrandTotals: value.showGrandTotals,\r\n            });\r\n          }\r\n        }\r\n    } else {\r\n      let keys = [];\r\n      if (this.config.fields.length) keys = Object.keys(this.config.fields[0]);\r\n      this.fieldslist = this.config.fields.filter((el) =>\r\n        keys.includes(\"visible\") ? el.visible && !el.isHidden : !el.isHidden\r\n      );\r\n    }\r\n    // 所有field都给一个showGrandTotals和showSubTotals的值，绑定field list页面icon状态，及format页面Hide subtotal、Hide grandtotal等状态\r\n    this.fieldslist.map((el) => {\r\n      let keys = Object.keys(el);\r\n      if (!keys.includes(\"showGrandTotals\") || el.showGrandTotals === undefined)\r\n        el.showGrandTotals = true;\r\n      if (!keys.includes(\"showSubTotals\") || el.showSubTotals === undefined)\r\n        el.showSubTotals = true;\r\n    });\r\n  }\r\n\r\n  // 打开field的format页面\r\n  public openFormat(item) {\r\n    console.log(\"item\", item);\r\n    //clear the checkbox\r\n    this.Conditional = false;\r\n    this.currentField = JSON.parse(JSON.stringify(item));\r\n    this.currentFieldFormatInfo =\r\n      (item.format && item.format[0]) || this.setFormatGroupDefaultData();\r\n    delete this.currentField.format; // 删掉currentField的format，将format信息保存在currentFieldFormatInfo\r\n    this.selectOption(item.colName, \"field\");\r\n    if (![\"string\", \"nvarchar\", \"date\", \"datetime\"].includes(item.dataType))\r\n      this.addColorPickerStyle();\r\n    this.currentFieldFormatInfo.formatList &&\r\n      this.currentFieldFormatInfo.formatList.map(\r\n        (el) =>\r\n          (el.isChecked =\r\n            el.key == this.currentFieldFormatInfo.selectedFormatDisplay\r\n              ? true\r\n              : false)\r\n      );\r\n  }\r\n  public goBack() {\r\n    this.Conditional = true;\r\n    this.currentField = null;\r\n    this.currentFieldFormatInfo = null;\r\n  }\r\n\r\n  public selectOption(value, type) {\r\n    let PreviewColorElement = this.PreviewColor[\"_results\"];\r\n    let previewColorBurdenElement = this.previewColorBurden[\"_results\"];\r\n    let allFields = this.config.fields;\r\n    let displayName = this.currentField.displayName;\r\n    if (allFields && (!displayName || displayName.length === 0)) {\r\n      const item = allFields.find(\r\n        (field) => field.colName === this.currentField.colName\r\n      );\r\n      if (item) {\r\n        displayName =\r\n          (item.format && item.format.length && item.format[0].displayName) ||\r\n          item.langValue;\r\n      }\r\n    }\r\n    switch (type) {\r\n      case \"field\":\r\n        this.currentFieldFormatInfo.selectedField = this.currentField.colName;\r\n        this.currentFieldFormatInfo.dataType = this.currentField.dataType;\r\n        this.currentFieldFormatInfo.displayName = displayName || \"\";\r\n        this.getFiledFormat();\r\n        break;\r\n      case \"compare\":\r\n        this.currentFieldFormatInfo.formatChecked = true;\r\n        this.currentFieldFormatInfo.compareSelect = this.optionFilter(\r\n          this.compareList,\r\n          \"code\",\r\n          value\r\n        )[0].code;\r\n        break;\r\n      case \"selectdDateType\":\r\n        this.currentFieldFormatInfo.formatChecked = true;\r\n        if (value == \"Quarter\") {\r\n          this.currentFieldFormatInfo.formatList = this.quarterFormat;\r\n        } else if (value == \"Date\") {\r\n          this.currentFieldFormatInfo.formatList = this.dateFormat;\r\n        }\r\n        this.currentFieldFormatInfo.selectedFormatDisplay = \"\";\r\n        this.currentFieldFormatInfo.selectedFormat = \"\";\r\n        break;\r\n      case \"selectdDateformat\":\r\n      case \"number\":\r\n        if (!value) {\r\n          for (const iterator of this.currentFieldFormatInfo.formatList) {\r\n            iterator.isChecked = false;\r\n          }\r\n          return;\r\n        }\r\n        this.currentFieldFormatInfo.formatChecked = true;\r\n        for (const iterator of this.currentFieldFormatInfo.formatList) {\r\n          iterator.isChecked = Boolean(iterator.key == value);\r\n          if (iterator.key == value)\r\n            this.currentFieldFormatInfo.selectedFormat = iterator.val;\r\n          this.currentFieldFormatInfo.selectedFormatDisplay = value;\r\n        }\r\n        break;\r\n      case \"fontFamily\":\r\n        this.currentFieldFormatInfo.fontSettingChecked = true;\r\n        this.currentFieldFormatInfo.fontFamilyValue = this.optionFilter(\r\n          this.fontFamilyList,\r\n          \"value\",\r\n          value\r\n        )[0].value;\r\n        (\r\n          PreviewColorElement[0].nativeElement.querySelector(\r\n            \".format-groups\"\r\n          ) as HTMLElement\r\n        ).style.fontFamily = this.currentFieldFormatInfo.fontFamilyValue;\r\n        break;\r\n      case \"negaFontFamily\":\r\n        this.currentFieldFormatInfo.fontSettingChecked = true;\r\n        this.currentFieldFormatInfo.negaFontFamilyValue = this.optionFilter(\r\n          this.fontFamilyList,\r\n          \"value\",\r\n          value\r\n        )[0].value;\r\n        (\r\n          previewColorBurdenElement[0].nativeElement.querySelector(\r\n            \".format-groups\"\r\n          ) as HTMLElement\r\n        ).style.fontFamily = this.currentFieldFormatInfo.negaFontFamilyValue;\r\n        break;\r\n      case \"negaFontSize\":\r\n        this.currentFieldFormatInfo.fontSettingChecked = true;\r\n        this.currentFieldFormatInfo.negaFontSizeValue = this.optionFilter(\r\n          this.fontSizeList,\r\n          \"value\",\r\n          value\r\n        )[0].value;\r\n        (\r\n          previewColorBurdenElement[0].nativeElement.querySelector(\r\n            \".format-groups\"\r\n          ) as HTMLElement\r\n        ).style.fontSize = this.currentFieldFormatInfo.negaFontSizeValue;\r\n        break;\r\n      case \"fontSize\":\r\n        this.currentFieldFormatInfo.fontSettingChecked = true;\r\n        this.currentFieldFormatInfo.fontSizeValue = this.optionFilter(\r\n          this.fontSizeList,\r\n          \"value\",\r\n          value\r\n        )[0].value;\r\n        (\r\n          PreviewColorElement[0].nativeElement.querySelector(\r\n            \".format-groups\"\r\n          ) as HTMLElement\r\n        ).style.fontSize = this.currentFieldFormatInfo.fontSizeValue;\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n\r\n  private getFiledFormat() {\r\n    if (!this.currentFieldFormatInfo.align)\r\n      this.currentFieldFormatInfo.align = [\r\n        \"string\",\r\n        \"nvarchar\",\r\n        \"date\",\r\n        \"datetime\",\r\n      ].includes(this.currentField.dataType)\r\n        ? \"Left\"\r\n        : \"Right\";\r\n    switch (this.currentField.dataType) {\r\n      case \"number\":\r\n        this.currentFieldFormatInfo.formatList =\r\n          this.dashboardPorletsService.GetFigureFormat();\r\n        this.addColorPickerStyle();\r\n        break;\r\n      case \"integer\":\r\n        this.currentFieldFormatInfo.formatList =\r\n          this.dashboardPorletsService.GetFigureFormat3();\r\n        this.addColorPickerStyle();\r\n        break;\r\n      case \"percent\":\r\n      case \"percentNum\":\r\n        this.currentFieldFormatInfo.formatList =\r\n          this.dashboardPorletsService.GetPercentFormats();\r\n        break;\r\n      case \"multiple\":\r\n        this.currentFieldFormatInfo.formatList =\r\n          this.dashboardPorletsService.GetMultipleFormats();\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n\r\n  private optionFilter(data, field, compareValue) {\r\n    return data.filter((item) => item[field] === compareValue);\r\n  }\r\n\r\n  public changeAligh(code) {\r\n    this.currentFieldFormatInfo.align = code;\r\n    this.currentFieldFormatInfo.formatChecked = true;\r\n  }\r\n\r\n  private addColorPickerStyle() {\r\n    setTimeout(() => {\r\n      let colorPickerFontElement = this.colorPickerFont[\"_results\"];\r\n      let colorPickerElement = this.colorPicker[\"_results\"];\r\n      let PreviewColorElement = this.PreviewColor[\"_results\"];\r\n      let colorpickerBurdenElement = this.colorpickerBurden[\"_results\"];\r\n      let colorpickerFontBurdenElement = this.colorpickerFontBurden[\"_results\"];\r\n      let previewColorBurdenElement = this.previewColorBurden[\"_results\"];\r\n      colorPickerFontElement.forEach((item) => {\r\n        addClass(\r\n          [item.element.nextElementSibling.querySelector(\".e-selected-color\")],\r\n          \"e-icons\"\r\n        );\r\n      });\r\n      colorPickerElement.forEach((item) => {\r\n        addClass(\r\n          [item.element.nextElementSibling.querySelector(\".e-selected-color\")],\r\n          \"e-icons\"\r\n        );\r\n      });\r\n\r\n      if (colorpickerBurdenElement.length)\r\n        colorpickerBurdenElement.forEach((item) => {\r\n          addClass(\r\n            [\r\n              item.element.nextElementSibling.querySelector(\r\n                \".e-selected-color\"\r\n              ),\r\n            ],\r\n            \"e-icons\"\r\n          );\r\n        });\r\n      if (colorpickerFontBurdenElement.length)\r\n        colorpickerFontBurdenElement.forEach((item) => {\r\n          addClass(\r\n            [\r\n              item.element.nextElementSibling.querySelector(\r\n                \".e-selected-color\"\r\n              ),\r\n            ],\r\n            \"e-icons\"\r\n          );\r\n        });\r\n      addClass(\r\n        [\r\n          colorPickerFontElement[0].element.nextElementSibling.querySelector(\r\n            \".e-selected-color\"\r\n          ),\r\n        ],\r\n        \"format-groups\"\r\n      );\r\n      addClass(\r\n        [\r\n          colorPickerElement[0].element.nextElementSibling.querySelector(\r\n            \".e-selected-color\"\r\n          ),\r\n        ],\r\n        \"format-groups\"\r\n      );\r\n      addClass(\r\n        [PreviewColorElement[0].nativeElement.querySelector(\".preview\")],\r\n        \"format-groups\"\r\n      );\r\n\r\n      (\r\n        PreviewColorElement[0].nativeElement.querySelector(\r\n          \".format-groups\"\r\n        ) as HTMLElement\r\n      ).style.color = this.currentFieldFormatInfo.fontColor;\r\n      (\r\n        PreviewColorElement[0].nativeElement.querySelector(\r\n          \".format-groups\"\r\n        ) as HTMLElement\r\n      ).style[\"background-color\"] = this.currentFieldFormatInfo.backgroundColor;\r\n      (\r\n        colorPickerFontElement[0].element.nextElementSibling.querySelector(\r\n          \".format-groups\"\r\n        ) as HTMLElement\r\n      ).style.borderBottomColor = this.currentFieldFormatInfo.fontColor;\r\n      (\r\n        colorPickerElement[0].element.nextElementSibling.querySelector(\r\n          \".format-groups\"\r\n        ) as HTMLElement\r\n      ).style.borderBottomColor = this.currentFieldFormatInfo.backgroundColor;\r\n\r\n      // 设置ColorPicker的初始值\r\n      if (colorPickerFontElement[0]) {\r\n        colorPickerFontElement[0].value = this.currentFieldFormatInfo.fontColor;\r\n      }\r\n      if (colorPickerElement[0]) {\r\n        colorPickerElement[0].value =\r\n          this.currentFieldFormatInfo.backgroundColor;\r\n      }\r\n\r\n      if (\r\n        colorpickerBurdenElement[0] &&\r\n        colorpickerFontBurdenElement[0] &&\r\n        previewColorBurdenElement[0]\r\n      ) {\r\n        addClass(\r\n          [\r\n            colorpickerFontBurdenElement[0].element.nextElementSibling.querySelector(\r\n              \".e-selected-color\"\r\n            ),\r\n          ],\r\n          \"format-groups\"\r\n        );\r\n        addClass(\r\n          [\r\n            colorpickerBurdenElement[0].element.nextElementSibling.querySelector(\r\n              \".e-selected-color\"\r\n            ),\r\n          ],\r\n          \"format-groups\"\r\n        );\r\n        addClass(\r\n          [\r\n            previewColorBurdenElement[0].nativeElement.querySelector(\r\n              \".preview\"\r\n            ),\r\n          ],\r\n          \"format-groups\"\r\n        );\r\n\r\n        (\r\n          previewColorBurdenElement[0].nativeElement.querySelector(\r\n            \".format-groups\"\r\n          ) as HTMLElement\r\n        ).style.color = this.currentFieldFormatInfo.negaFontColor;\r\n        (\r\n          previewColorBurdenElement[0].nativeElement.querySelector(\r\n            \".format-groups\"\r\n          ) as HTMLElement\r\n        ).style[\"background-color\"] =\r\n          this.currentFieldFormatInfo.negaBackgroundColor;\r\n        (\r\n          colorpickerFontBurdenElement[0].element.nextElementSibling.querySelector(\r\n            \".format-groups\"\r\n          ) as HTMLElement\r\n        ).style.borderBottomColor = this.currentFieldFormatInfo.negaFontColor;\r\n        (\r\n          colorpickerBurdenElement[0].element.nextElementSibling.querySelector(\r\n            \".format-groups\"\r\n          ) as HTMLElement\r\n        ).style.borderBottomColor =\r\n          this.currentFieldFormatInfo.negaBackgroundColor;\r\n\r\n        // 设置负数ColorPicker的初始值\r\n        if (colorpickerFontBurdenElement[0]) {\r\n          colorpickerFontBurdenElement[0].value =\r\n            this.currentFieldFormatInfo.negaFontColor;\r\n        }\r\n        if (colorpickerBurdenElement[0]) {\r\n          colorpickerBurdenElement[0].value =\r\n            this.currentFieldFormatInfo.negaBackgroundColor;\r\n        }\r\n      }\r\n    }, 400);\r\n  }\r\n\r\n  public colorOnChange(args: ColorPickerEventArgs, type?): void {\r\n    console.log(args);\r\n    this.currentFieldFormatInfo.fontSettingChecked = true;\r\n    let colorPickerFontElement = this.colorPickerFont[\"_results\"];\r\n    let colorPickerElement = this.colorPicker[\"_results\"];\r\n    let PreviewColorElement = this.PreviewColor[\"_results\"];\r\n    let colorpickerBurdenElement = this.colorpickerBurden[\"_results\"];\r\n    let colorpickerFontBurdenElement = this.colorpickerFontBurden[\"_results\"];\r\n    let previewColorBurdenElement = this.previewColorBurden[\"_results\"];\r\n    if (type) {\r\n      switch (type) {\r\n        case \"font\":\r\n          (\r\n            colorPickerFontElement[0].element.nextElementSibling.querySelector(\r\n              \".format-groups\"\r\n            ) as HTMLElement\r\n          ).style.borderBottomColor = args.value;\r\n          (\r\n            PreviewColorElement[0].nativeElement.querySelector(\r\n              \".format-groups\"\r\n            ) as HTMLElement\r\n          ).style.color = args.value;\r\n          this.currentFieldFormatInfo.fontColor = args.value;\r\n          break;\r\n        case \"ngeaFont\":\r\n          (\r\n            colorpickerFontBurdenElement[0].element.nextElementSibling.querySelector(\r\n              \".format-groups\"\r\n            ) as HTMLElement\r\n          ).style.borderBottomColor = args.value;\r\n          (\r\n            previewColorBurdenElement[0].nativeElement.querySelector(\r\n              \".format-groups\"\r\n            ) as HTMLElement\r\n          ).style.color = args.value;\r\n          this.currentFieldFormatInfo.negaFontColor = args.value;\r\n          break;\r\n        case \"ngeaBgColor\":\r\n          (\r\n            colorpickerBurdenElement[0].element.nextElementSibling.querySelector(\r\n              \".format-groups\"\r\n            ) as HTMLElement\r\n          ).style.borderBottomColor = args.value;\r\n          (\r\n            previewColorBurdenElement[0].nativeElement.querySelector(\r\n              \".format-groups\"\r\n            ) as HTMLElement\r\n          ).style[\"background-color\"] = args.value;\r\n          console.log(args);\r\n          this.currentFieldFormatInfo.negaBackgroundColor = args.value;\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n    } else {\r\n      (\r\n        colorPickerElement[0].element.nextElementSibling.querySelector(\r\n          \".format-groups\"\r\n        ) as HTMLElement\r\n      ).style.borderBottomColor = args.value;\r\n      (\r\n        PreviewColorElement[0].nativeElement.querySelector(\r\n          \".format-groups\"\r\n        ) as HTMLElement\r\n      ).style[\"background-color\"] = args.value;\r\n      this.currentFieldFormatInfo.backgroundColor = args.value;\r\n    }\r\n  }\r\n\r\n  public changeHideStatus(e, code) {\r\n    this.currentField[code] = !e.checked;\r\n    // console.log('this.currentField', this.currentField[code]);\r\n  }\r\n\r\n  public saveFormat() {\r\n    this.config.yaxis.series.forEach((col) => {\r\n      if (\r\n        col.colName === this.currentField.colName &&\r\n        !this.config.fields.find(\r\n          (item) => item.colName === this.currentField.colName\r\n        )\r\n      ) {\r\n        this.config.fields.push({\r\n          colName: this.currentField.colName,\r\n          dataType: \"number\",\r\n          displayName: this.currentField.langValue,\r\n          dp: 2,\r\n          format: [],\r\n          formula: null,\r\n          isCalculatedField: true,\r\n          isGroup: false,\r\n          isHidden: false,\r\n          isValue: true,\r\n          langCode: this.currentField.colName,\r\n          langValue: this.currentField.colName,\r\n          seq: this.config.fields.length + 1,\r\n          showGrandTotals: this.currentField.showGrandTotals,\r\n          showSubTotals: this.currentField.showSubTotals,\r\n          sortColumn: null,\r\n          visible: true,\r\n        });\r\n      }\r\n    });\r\n\r\n    for (const field of this.config.fields) {\r\n      if (this.currentField.colName === field.colName) {\r\n        field.showGrandTotals = this.currentField.showGrandTotals;\r\n        field.showSubTotals = this.currentField.showSubTotals;\r\n        if (\r\n          this.currentFieldFormatInfo.formatChecked ||\r\n          this.currentFieldFormatInfo.fontSettingChecked\r\n        ) {\r\n          field.format = [];\r\n          field.displayName = this.currentFieldFormatInfo.displayName;\r\n          field.format.push(this.currentFieldFormatInfo);\r\n        } else delete field.format;\r\n      }\r\n    }\r\n\r\n    for (const series of this.config.yaxis.series) {\r\n      if (this.currentFieldFormatInfo.selectedField === series.colName) {\r\n        series.showSubTotals = this.currentField.showSubTotals;\r\n        series.showGrandTotals = this.currentField.showGrandTotals;\r\n        let fields = this.config.fields.filter(\r\n          (el) => el.colName === this.currentFieldFormatInfo.selectedField\r\n        );\r\n        if (fields && fields.length) {\r\n          if (\r\n            fields[0].format &&\r\n            fields[0].format.length &&\r\n            fields[0].format[0].formatChecked\r\n          )\r\n            series.title =\r\n              this.currentFieldFormatInfo.displayName ||\r\n              fields[0].langValue.replace(\"Calculate\", \"\").trim();\r\n        } else if (series.calMethod !== \"CalculatedField\")\r\n          series.title = series.colName;\r\n      }\r\n    }\r\n    this.data.portletData.config = JSON.stringify(this.config);\r\n    const index = this.data.portlets.findIndex(\r\n      (x) => x.newId === this.data.portletData.newId\r\n    );\r\n    if (index > -1)\r\n      this.data.portlets[index].config = this.data.portletData.config;\r\n    this.DashboardService.tableFormat.next(this.data.portletData.newId);\r\n    this.dialogRef.close();\r\n  }\r\n\r\n  public close() {\r\n    this.dialogRef.close();\r\n  }\r\n\r\n  public clearFormat_All() {\r\n    const _title =\r\n      this.translation\r\n        .ARE_YOU_SURE_TO_CLEAR_ALL_THE_FORMATTING_AND_SUB_TOTALS_TO_DEFAULT_SETTINGS ||\r\n      \"Are you sure to clear all the formatting and totals to default settings?\";\r\n    const _no = this.translation.NO_PLEASE_GO_BACK || \"No, please go back\";\r\n    const _yes = this.translation.YES_CLEAR_THEM || \"Yes, clear them\";\r\n    // const dialogRef = this.layoutUtilsService.alertElement(\r\n    // \tthis.translation.WARNING || \".WARNING\",\r\n    // \t_title,\r\n    // \t_no,\r\n    // \t_yes,\r\n    // \ttrue,\r\n    // \ttrue,\r\n    // \t\"450px\",\r\n    // \t\"320px\"\r\n    // );\r\n    const dialogRef = this.dialogService.showCommonDilaog({\r\n      title: this.translation.WARNING || \".WARNING\",\r\n      description: _title,\r\n      saveBtnLabel: _yes,\r\n      cancelBtnLabel: _no,\r\n    });\r\n    dialogRef.afterClosed().subscribe((res) => {\r\n      if (!res) return;\r\n      this.config.fields.map((el) => {\r\n        delete el.format;\r\n        delete el.showSubTotals;\r\n        delete el.showGrandTotals;\r\n      });\r\n      //SMP2-3010\r\n      //pivot\r\n      if (this.config.portletType === \"pivot\") {\r\n        if (this.config.yaxis.series) {\r\n          this.config.yaxis.series.map((el) => {\r\n            delete el.showSubTotals;\r\n            delete el.showGrandTotals;\r\n          });\r\n        }\r\n      }\r\n      this.data.portletData.config = JSON.stringify(this.config);\r\n      const index = this.data.portlets.findIndex(\r\n        (x) => x.newId === this.data.portletData.newId\r\n      );\r\n      if (index > -1)\r\n        this.data.portlets[index].config = this.data.portletData.config;\r\n      this.DashboardService.tableFormat.next(this.data.portletData.newId);\r\n      this.dialogRef.close();\r\n    });\r\n  }\r\n\r\n  public clearFormat_Current() {\r\n    this.currentFieldFormatInfo = this.setFormatGroupDefaultData();\r\n    this.currentField.showSubTotals = true;\r\n    this.currentField.showGrandTotals = true;\r\n    if (\r\n      ![\"string\", \"nvarchar\", \"date\", \"datetime\"].includes(\r\n        this.currentFieldFormatInfo.dataType\r\n      )\r\n    )\r\n      this.addColorPickerStyle();\r\n  }\r\n\r\n  public disabledGrandTotal() {\r\n    if (\r\n      this.config.portletType !== \"pivot\" &&\r\n      this.config.portletType !== \"table\"\r\n    ) {\r\n      return true;\r\n    } else {\r\n      if (this.config.portletType === \"table\") {\r\n        if (\r\n          this.currentField.dataType !== \"string\" &&\r\n          this.currentField.dataType !== \"datetime\" &&\r\n          this.currentField.dataType !== \"date\"\r\n        )\r\n          return false;\r\n        else return true;\r\n      } else {\r\n        if (this.currentField.isValue) return false;\r\n        else return true;\r\n      }\r\n    }\r\n  }\r\n\r\n  private setAlignList() {\r\n    return [\r\n      {\r\n        name: \"format_align_left\",\r\n        code: \"Left\",\r\n      },\r\n      {\r\n        name: \"format_align_center\",\r\n        code: \"Center\",\r\n      },\r\n      {\r\n        name: \"format_align_right\",\r\n        code: \"Right\",\r\n      },\r\n    ];\r\n  }\r\n\r\n  private setFontSizeList() {\r\n    return [\r\n      {\r\n        value: \"11px\",\r\n      },\r\n      {\r\n        value: \"12px\",\r\n      },\r\n      {\r\n        value: \"13px\",\r\n      },\r\n      {\r\n        value: \"14px\",\r\n      },\r\n      {\r\n        value: \"15px\",\r\n      },\r\n      {\r\n        value: \"16px\",\r\n      },\r\n      {\r\n        value: \"17px\",\r\n      },\r\n      {\r\n        value: \"18px\",\r\n      },\r\n      {\r\n        value: \"19px\",\r\n      },\r\n      {\r\n        value: \"20px\",\r\n      },\r\n    ];\r\n  }\r\n\r\n  private setCompareList() {\r\n    return [\r\n      {\r\n        value: this.translation.LESS_THAN || \"Less Than\",\r\n        code: \"LessThan\",\r\n      },\r\n      {\r\n        value:\r\n          this.translation.LESS_THAN_OR_EQUAL_TO || \"Less Than Or Equal To\",\r\n        code: \"LessThanOrEqualTo\",\r\n      },\r\n      {\r\n        value: this.translation.GREATER_THAN || \"Greater Than\",\r\n        code: \"GreaterThan\",\r\n      },\r\n      {\r\n        value:\r\n          this.translation.GREATER_THAN_OR_EQUAL_TO ||\r\n          \"Greater Than Or Equal To\",\r\n        code: \"GreaterThanOrEqualTo\",\r\n      },\r\n      {\r\n        value: this.translation.EQUALS || \"Equals\",\r\n        code: \"Equals\",\r\n      },\r\n      {\r\n        value: this.translation.NOT_EQUALS || \"Not Equals\",\r\n        code: \"NotEquals\",\r\n      },\r\n      {\r\n        value: this.translation.BETWEEN || \"Between\",\r\n        code: \"Between\",\r\n      },\r\n      {\r\n        value: this.translation.NOT_BETWEEN || \"Not Between\",\r\n        code: \"NotBetween\",\r\n      },\r\n    ];\r\n  }\r\n\r\n  private setStringAndDateCompareList() {\r\n    return [\r\n      {\r\n        value: \"Equals\",\r\n        code: \"Equals\",\r\n      },\r\n      {\r\n        value: \"Not Equals\",\r\n        code: \"NotEquals\",\r\n      },\r\n    ];\r\n  }\r\n\r\n  private setFontFamilyList() {\r\n    return [\r\n      {\r\n        value: \"Arial\",\r\n      },\r\n      {\r\n        value: \"San Serif\",\r\n      },\r\n      {\r\n        value: \"Impact\",\r\n      },\r\n      {\r\n        value: \"Trebuchet MS\",\r\n      },\r\n      {\r\n        value: \"Serif\",\r\n      },\r\n      {\r\n        value: \"Verdana\",\r\n      },\r\n      {\r\n        value: \"Courier New\",\r\n      },\r\n      {\r\n        value: \"Times New Roman\",\r\n      },\r\n      {\r\n        value: \"Tahoma\",\r\n      },\r\n      {\r\n        value: \"Gerogia\",\r\n      },\r\n    ];\r\n  }\r\n\r\n  private setFormatGroupDefaultData() {\r\n    return {\r\n      selectedField: this.currentField.colName,\r\n      dataType: this.currentField.dataType,\r\n      compareSelect: \"\",\r\n      compareValue1: null,\r\n      compareValue2: null,\r\n      align: \"\",\r\n      selectedFormat: \"\",\r\n      selectedFormatDisplay: \"\",\r\n      fontFamilyValue: \"San Serif\",\r\n      negaFontFamilyValue: \"San Serif\",\r\n      negaFontSizeValue: \"11px\",\r\n      negaFontColor: \"#495057\",\r\n      negaBackgroundColor: \"#F8E71C\",\r\n      fontSizeValue: \"11px\",\r\n      fontColor: \"#495057\",\r\n      backgroundColor: \"#F8E71C\",\r\n      displayName: \"\",\r\n      formatList: [],\r\n      fontSettingChecked: false,\r\n      formatChecked: false,\r\n      dateType: \"\",\r\n    };\r\n  }\r\n\r\n  private setQuarterFormat() {\r\n    return [\r\n      { key: \"03/2021\", val: 1, isChecked: false },\r\n      { key: \"03/21\", val: 2, isChecked: false },\r\n      { key: \"3/2021\", val: 3, isChecked: false },\r\n      { key: \"3/21\", val: 4, isChecked: false },\r\n      { key: \"March 2021\", val: 5, isChecked: false },\r\n      { key: \"Mar, 2021\", val: 6, isChecked: false },\r\n      { key: \"March, 2021\", val: 7, isChecked: false },\r\n      { key: \"Q1 2021\", val: 8, isChecked: false },\r\n      { key: \"Q1 21\", val: 9, isChecked: false },\r\n      { key: \"2021 Q1\", val: 10, isChecked: false },\r\n      { key: \"21 Q1\", val: 11, isChecked: false },\r\n      { key: \"2021\", val: 12, isChecked: false },\r\n    ];\r\n  }\r\n\r\n  private setDateFormat() {\r\n    return [\r\n      { key: \"14/03/2021 (DD/MM/YYYY)\", val: 1, isChecked: false },\r\n      { key: \"14/03/21 (DD/MM/YY)\", val: 2, isChecked: false },\r\n      { key: \"03/14/2021 (MM/DD/YYYY)\", val: 3, isChecked: false },\r\n      { key: \"03/14/21 (MM/DD/YY)\", val: 4, isChecked: false },\r\n      { key: \"2021-03-14 (YYYY-MM-DD)\", val: 5, isChecked: false },\r\n      { key: \"21-03-14 (YY-MM-DD)\", val: 6, isChecked: false },\r\n      { key: \"14-03-2021 (DD-MM-YYYY)\", val: 7, isChecked: false },\r\n      { key: \"14-03-21 (DD-MM-YY)\", val: 8, isChecked: false },\r\n      { key: \"03-14-2021 (MM-DD-YYYY)\", val: 9, isChecked: false },\r\n      { key: \"03-14-21 (MM-DD-YY)\", val: 10, isChecked: false },\r\n      { key: \"Mar 14, 2021 (MMM DD, YYYY)\", val: 11, isChecked: false },\r\n      { key: \"14-Mar-2021 (DD-MMM-YYYY)\", val: 12, isChecked: false },\r\n    ];\r\n  }\r\n\r\n  cancel() {\r\n    this.dialogRef.close(\"close\");\r\n  }\r\n}\r\n","<rs-common-dialog\r\n  class=\"field-format-dialog\"\r\n  [dialogStyle]=\"data.dialogStyle\"\r\n  [customPageTitle]=\"true\"\r\n  [hideCloseIcon]=\"true\"\r\n>\r\n  <div class=\"header\" titleSlot #titleSlot>\r\n    <div class=\"title\" *ngIf=\"Conditional\">\r\n      {{ translation.CONDITIONAL_SETTING || \"Conditional Setting\" }}\r\n    </div>\r\n    <div class=\"sub-header\" *ngIf=\"!Conditional\">\r\n      <div class=\"previous\">\r\n        <div class=\"icon-wrap\" (click)=\"goBack()\">\r\n          <img src=\"../../../../../assets/img/dashboard_icon/back-icon.svg\" />\r\n        </div>\r\n        <span>{{ currentField && currentField.langValue }}</span>\r\n      </div>\r\n      <div class=\"title2\">\r\n        {{\r\n          translation.FORMATTING_AND_HIDE_SUBTOTAL ||\r\n            \"Formatting and hide sub total\"\r\n        }}\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"popup_main_container\">\r\n    <ng-container *ngIf=\"Conditional\">\r\n      <div class=\"notice\">\r\n        {{\r\n          translation.CONDITIONAL_SETTING_TIPS ||\r\n            \"The fields you have selected are shown below, you can apply formatting,sub totals or grand totals. Sub totals are only available for pivot tables.\"\r\n        }}\r\n      </div>\r\n      <div class=\"all-fields\">\r\n        <div class=\"fields-item\" *ngFor=\"let field of fieldslist\">\r\n          <div class=\"field-name\">{{ field.langValue }}</div>\r\n          <div class=\"field-icons\">\r\n            <img\r\n              src=\"../../../../../assets/img/dashboard_icon/format{{\r\n                field.format && field.format.length ? '-active' : ''\r\n              }}.svg\"\r\n              (click)=\"openFormat(field)\"\r\n            />\r\n            <img\r\n              src=\"../../../../../assets/img/dashboard_icon/subtotal{{\r\n                field.showSubTotals ? '' : '-active'\r\n              }}.svg\"\r\n              (click)=\"openFormat(field)\"\r\n            />\r\n            <img\r\n              src=\"../../../../../assets/img/dashboard_icon/grandTotal{{\r\n                field.showGrandTotals ? '' : '-active'\r\n              }}.svg\"\r\n              (click)=\"openFormat(field)\"\r\n            />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-container>\r\n    <!--Conditional Setting end    第一页：field list-->\r\n\r\n    <!--Formatting and hide sub total start    第二页：format setting-->\r\n    <div *ngIf=\"!Conditional\">\r\n      <div class=\"format-checkbox\">\r\n        <ejs-checkbox\r\n          [label]=\"translation.FORMAT ? translation.FORMAT : 'Format'\"\r\n          [(ngModel)]=\"currentFieldFormatInfo.formatChecked\"\r\n        ></ejs-checkbox>\r\n      </div>\r\n\r\n      <div class=\"format-group\">\r\n        <div\r\n          class=\"box-content\"\r\n          *ngIf=\"\r\n            currentField.dataType !== 'string' &&\r\n            currentField.dataType !== 'date'\r\n          \"\r\n        >\r\n          <div class=\"content-form\">\r\n            <div class=\"content-form-item\">\r\n              <ejs-dropdownlist\r\n                [dataSource]=\"compareList\"\r\n                [(ngModel)]=\"currentFieldFormatInfo.compareSelect\"\r\n                [fields]=\"{ text: 'value', value: 'code' }\"\r\n                [showClearButton]=\"true\"\r\n                [allowFiltering]=\"true\"\r\n                (change)=\"selectOption($event.value, 'compare')\"\r\n              ></ejs-dropdownlist>\r\n            </div>\r\n            <div class=\"content-form-item flex\">\r\n              <input\r\n                class=\"e-input\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"currentFieldFormatInfo.compareValue1\"\r\n                autocomplete=\"off\"\r\n              />\r\n              <ng-container\r\n                *ngIf=\"\r\n                  currentFieldFormatInfo.compareSelect === 'Between' ||\r\n                  currentFieldFormatInfo.compareSelect === 'NotBetween'\r\n                \"\r\n              >\r\n                <div>-</div>\r\n                <input\r\n                  class=\"e-input\"\r\n                  type=\"text\"\r\n                  [(ngModel)]=\"currentFieldFormatInfo.compareValue2\"\r\n                  autocomplete=\"off\"\r\n                />\r\n              </ng-container>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!-- compare 部分 end -->\r\n\r\n        <div class=\"box-content\">\r\n          <div class=\"content-title\">\r\n            {{ translation.EDIT_FIELD_TITLE || \".EDIT_FIELD_TITLE\" }}\r\n          </div>\r\n          <div class=\"content-form\">\r\n            <input\r\n              class=\"e-input\"\r\n              type=\"text\"\r\n              placeholder=\"{{\r\n                translation.EDIT_FIELD_TITLE || '.EDIT_FIELD_TITLE'\r\n              }}\"\r\n              autocomplete=\"off\"\r\n              [(ngModel)]=\"currentFieldFormatInfo.displayName\"\r\n              (ngModelChange)=\"currentFieldFormatInfo.formatChecked = true\"\r\n            />\r\n          </div>\r\n        </div>\r\n        <div class=\"box-content\" *ngIf=\"config.portletType == 'table'\">\r\n          <div class=\"content-title\">\r\n            {{ translation.ALIGNMENT || \".ALIGNMENT\" }}\r\n          </div>\r\n          <div class=\"icon-list\">\r\n            <div\r\n              class=\"icon-wrap\"\r\n              *ngFor=\"let item of alignList\"\r\n              [ngClass]=\"{\r\n                selected: item.code == currentFieldFormatInfo.align\r\n              }\"\r\n              (click)=\"changeAligh(item.code)\"\r\n            >\r\n              <img\r\n                src=\"../../../../../assets/img/dashboard_icon/align_{{\r\n                  item.code\r\n                }}.svg\"\r\n              />\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div\r\n          class=\"box-content\"\r\n          *ngIf=\"\r\n            currentField.dataType !== 'string' &&\r\n            currentField.dataType !== 'date'\r\n          \"\r\n        >\r\n          <div>\r\n            <ejs-dropdownlist\r\n              [dataSource]=\"currentFieldFormatInfo.formatList\"\r\n              [(ngModel)]=\"currentFieldFormatInfo.selectedFormat\"\r\n              [fields]=\"{ text: 'key', value: 'val' }\"\r\n              placeholder=\"{{ translation.NUMBER_FORMAT || '.NUMBER_FORMAT' }}\"\r\n              [showClearButton]=\"true\"\r\n              [allowFiltering]=\"true\"\r\n              (change)=\"selectOption($event.itemData.key, 'number')\"\r\n            ></ejs-dropdownlist>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"box-content\" *ngIf=\"currentField.dataType === 'date'\">\r\n          <div class=\"content-form\">\r\n            <div class=\"content-form-item\">\r\n              <ejs-dropdownlist\r\n                [dataSource]=\"dateTypeList\"\r\n                [(ngModel)]=\"currentFieldFormatInfo.dateType\"\r\n                [fields]=\"{ text: 'text', value: 'value' }\"\r\n                placeholder=\"{{\r\n                  translation.DATE_RANGE_TYPE || '.DATE_RANGE_TYPE'\r\n                }}\"\r\n                [showClearButton]=\"true\"\r\n                [allowFiltering]=\"true\"\r\n                (change)=\"selectOption($event.value, 'selectdDateType')\"\r\n              ></ejs-dropdownlist>\r\n            </div>\r\n            <div class=\"content-form-item\">\r\n              <ejs-dropdownlist\r\n                [dataSource]=\"currentFieldFormatInfo.formatList\"\r\n                [(ngModel)]=\"currentFieldFormatInfo.selectedFormat\"\r\n                placeholder=\"{{ translation.DATE_FORMAT || '.DATE_FORMAT' }}\"\r\n                [fields]=\"{ text: 'key', value: 'val' }\"\r\n                [showClearButton]=\"true\"\r\n                [allowFiltering]=\"true\"\r\n                (change)=\"\r\n                  selectOption($event.itemData.key, 'selectdDateformat')\r\n                \"\r\n              ></ejs-dropdownlist>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div\r\n        class=\"format-checkbox\"\r\n        *ngIf=\"\r\n          !['string', 'nvarchar', 'date', 'datetime'].includes(\r\n            currentField.dataType\r\n          )\r\n        \"\r\n      >\r\n        <ejs-checkbox\r\n          [label]=\"\r\n            translation.FONT_SETTINGS\r\n              ? translation.FONT_SETTINGS\r\n              : '.FONT_SETTINGS'\r\n          \"\r\n          [(ngModel)]=\"currentFieldFormatInfo.fontSettingChecked\"\r\n        ></ejs-checkbox>\r\n      </div>\r\n      <div\r\n        class=\"format-group\"\r\n        *ngIf=\"\r\n          !['string', 'nvarchar', 'date', 'datetime'].includes(\r\n            currentField.dataType\r\n          )\r\n        \"\r\n      >\r\n        <div class=\"box-content\">\r\n          <div class=\"content-title\">\r\n            {{ translation.POSITIVE_NUMBER_FORMAT || \"Positive Number Format\" }}\r\n          </div>\r\n          <div class=\"content-form\">\r\n            <div class=\"font-family-select\">\r\n              <ejs-dropdownlist\r\n                [dataSource]=\"fontFamilyList\"\r\n                [(ngModel)]=\"currentFieldFormatInfo.fontFamilyValue\"\r\n                [fields]=\"{ text: 'value', value: 'value' }\"\r\n                (change)=\"selectOption($event.value, 'fontFamily')\"\r\n                [showClearButton]=\"true\"\r\n                [allowFiltering]=\"true\"\r\n              ></ejs-dropdownlist>\r\n            </div>\r\n            <div class=\"font-size-select\">\r\n              <ejs-dropdownlist\r\n                [dataSource]=\"fontSizeList\"\r\n                [(ngModel)]=\"currentFieldFormatInfo.fontSizeValue\"\r\n                [fields]=\"{ text: 'value', value: 'value' }\"\r\n                (change)=\"selectOption($event.value, 'fontSize')\"\r\n                [showClearButton]=\"true\"\r\n                [allowFiltering]=\"true\"\r\n              ></ejs-dropdownlist>\r\n            </div>\r\n            <div class=\"color-picker-wrap\">\r\n              <input\r\n                ejs-colorpicker\r\n                #colorpickerFont\r\n                [modeSwitcher]=\"false\"\r\n                id=\"pickerFontElement\"\r\n                [value]=\"currentFieldFormatInfo.fontColor\"\r\n                (change)=\"colorOnChange($event, 'font')\"\r\n                autocomplete=\"off\"\r\n              />\r\n            </div>\r\n            <div class=\"color-picker-wrap bg\">\r\n              <input\r\n                ejs-colorpicker\r\n                #colorpicker\r\n                [modeSwitcher]=\"false\"\r\n                id=\"pickerElement\"\r\n                [value]=\"currentFieldFormatInfo.backgroundColor\"\r\n                (change)=\"colorOnChange($event)\"\r\n                autocomplete=\"off\"\r\n              />\r\n            </div>\r\n            <div #previewColor class=\"preview-color-wrap\">\r\n              <div class=\"preview\">123.45</div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"box-content\">\r\n          <div class=\"content-title\">\r\n            {{ translation.NEGATIVE_NUMBER_FORMAT || \"Negative Number Format\" }}\r\n          </div>\r\n          <div class=\"content-form\">\r\n            <div class=\"font-family-select\">\r\n              <ejs-dropdownlist\r\n                [dataSource]=\"fontFamilyList\"\r\n                [(ngModel)]=\"currentFieldFormatInfo.negaFontFamilyValue\"\r\n                [fields]=\"{ text: 'value', value: 'value' }\"\r\n                (change)=\"selectOption($event.value, 'negaFontFamily')\"\r\n                [showClearButton]=\"true\"\r\n                [allowFiltering]=\"true\"\r\n              ></ejs-dropdownlist>\r\n            </div>\r\n            <div class=\"font-size-select\">\r\n              <ejs-dropdownlist\r\n                [dataSource]=\"fontSizeList\"\r\n                [(ngModel)]=\"currentFieldFormatInfo.negaFontSizeValue\"\r\n                [fields]=\"{ text: 'value', value: 'value' }\"\r\n                (change)=\"selectOption($event.value, 'negaFontSize')\"\r\n                [showClearButton]=\"true\"\r\n                [allowFiltering]=\"true\"\r\n              ></ejs-dropdownlist>\r\n            </div>\r\n            <div class=\"color-picker-wrap\">\r\n              <input\r\n                ejs-colorpicker\r\n                #colorpickerFontBurden\r\n                [modeSwitcher]=\"false\"\r\n                id=\"pickerFontElement\"\r\n                [value]=\"currentFieldFormatInfo.negaFontColor\"\r\n                (change)=\"colorOnChange($event, 'ngeaFont')\"\r\n                autocomplete=\"off\"\r\n              />\r\n            </div>\r\n            <div class=\"color-picker-wrap bg\">\r\n              <input\r\n                ejs-colorpicker\r\n                #colorpickerBurden\r\n                [modeSwitcher]=\"false\"\r\n                id=\"pickerElement\"\r\n                [value]=\"currentFieldFormatInfo.negaBackgroundColor\"\r\n                (change)=\"colorOnChange($event, 'ngeaBgColor')\"\r\n                autocomplete=\"off\"\r\n              />\r\n            </div>\r\n            <div #previewColorBurden class=\"preview-color-wrap\">\r\n              <div class=\"preview\">123.45</div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"box-content\">\r\n        <!-- || !currentField?.isValue -->\r\n        <ejs-checkbox\r\n          [label]=\"translation.HIDE_SUB_TOTAL || 'Hide Sub total'\"\r\n          [disabled]=\"config.portletType !== 'pivot'\"\r\n          [checked]=\"!currentField.showSubTotals\"\r\n          (change)=\"changeHideStatus($event, 'showSubTotals')\"\r\n        ></ejs-checkbox>\r\n      </div>\r\n\r\n      <div class=\"box-content\">\r\n        <ejs-checkbox\r\n          [label]=\"translation.HIDE_GRAND_TOTAL || 'Hide Grand total'\"\r\n          [disabled]=\"disabledGrandTotal()\"\r\n          [checked]=\"!currentField.showGrandTotals\"\r\n          (change)=\"changeHideStatus($event, 'showGrandTotals')\"\r\n        ></ejs-checkbox>\r\n      </div>\r\n      <!-- hide grandtotal end -->\r\n    </div>\r\n    <!--Formatting and hide sub total end    第二页：format setting-->\r\n  </div>\r\n  <div footerSlot #footerSlot>\r\n    <div class=\"footer-btn-bar\" *ngIf=\"Conditional\">\r\n      <button class=\"e-btn small\" (click)=\"cancel()\">\r\n        {{ translation[\"CANCEL\"] || \".CANCEL\" }}\r\n      </button>\r\n      <button class=\"e-btn e-primary small\" (click)=\"clearFormat_All()\">\r\n        {{ translation.CLEAR ? translation.CLEAR : \".CLEAR\" }}\r\n      </button>\r\n    </div>\r\n    <div class=\"footer-btn-bar\" *ngIf=\"!Conditional\">\r\n      <button class=\"e-btn small\" (click)=\"clearFormat_Current()\">\r\n        {{ translation[\"CLEAR\"] || \".CLEAR\" }}\r\n      </button>\r\n      <button class=\"e-btn e-primary small\" (click)=\"saveFormat()\">\r\n        {{ translation.SAVE || \".SAVE\" }}\r\n      </button>\r\n    </div>\r\n  </div>\r\n</rs-common-dialog>\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  Inject,\r\n  ChangeDetectorRef,\r\n  AfterViewInit,\r\n  Optional,\r\n} from \"@angular/core\";\r\nimport {\r\n  MatDialog,\r\n  MatDialogRef,\r\n  MAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport { ApiList } from \"../../api\";\r\nimport { DashboardService } from \"../../dashboard.service\";\r\nimport { DashboardPorletsService } from \"../../dashboardPorlets.service\";\r\nimport { throttle } from \"lodash\";\r\nimport { API_SERVICE_TOKEN, PBF_TOKEN } from \"../../../service/InjectionToken\";\r\nimport { DialogService } from \"../../../service/dialog.service\";\r\nimport { getTranslation } from \"../../../utils/utils\";\r\n\r\n@Component({\r\n  selector: \"kt-data-mart-new\",\r\n  templateUrl: \"./data-mart-new.component.html\",\r\n  styleUrls: [\"./data-mart-new.component.scss\"],\r\n})\r\nexport class DataMartNewComponent implements OnInit, AfterViewInit {\r\n  translation: Record<string, string>;\r\n  userInfo: Record<string, any>;\r\n  lang: number;\r\n  entityType: string;\r\n  config: Record<string, any>;\r\n  title: string;\r\n\r\n  public fatherList = [];\r\n  public sonList = [];\r\n  public grandsonList = [];\r\n  public fatherId = \"\";\r\n  public sonIds = [];\r\n  public selectedAll = false;\r\n  public orginGrandData = [];\r\n  public disabled = false;\r\n  public cacheEntityType = \"\";\r\n  public isSelectAllDisabled = false;\r\n  selectedDataTableId = null;\r\n\r\n  constructor(\r\n    @Inject(MAT_DIALOG_DATA)\r\n    public data:\r\n      | Readonly<{\r\n          type: \"Dashboard\";\r\n          showZoomBtn: boolean;\r\n          dialogStyle: { width: string; height: string };\r\n\r\n          edit?: boolean;\r\n          dashboardId?: string;\r\n          dashboard?: any;\r\n        }>\r\n      | undefined,\r\n    public dialogRef: MatDialogRef<DataMartNewComponent>,\r\n    private dialogService: DialogService,\r\n    public dialog: MatDialog,\r\n    private api: ApiList,\r\n    public dashboardService: DashboardService,\r\n    public DashboardPorletsService: DashboardPorletsService,\r\n    private ref: ChangeDetectorRef,\r\n    @Optional() @Inject(PBF_TOKEN) public pbf: any,\r\n    @Optional() @Inject(API_SERVICE_TOKEN) private http: any\r\n  ) {}\r\n  ngOnInit() {\r\n    this.getInfo();\r\n    this.getSources();\r\n\r\n    this.title = this.translation.DATA_MART || \".DATA_MART\";\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.pbf.introStep.next(\"next\");\r\n  }\r\n\r\n  public getInfo() {\r\n    this.translation = getTranslation();\r\n    this.userInfo = JSON.parse(localStorage.getItem(\"userInfo\"));\r\n    this.lang = this.pbf.getLanguageParams();\r\n    this.config =\r\n      this.data && this.data.dashboard\r\n        ? JSON.parse(this.data.dashboard.config)\r\n        : {};\r\n  }\r\n  getSources() {\r\n    const dataObj = {\r\n      accountId: this.userInfo.accountId,\r\n      language: this.lang,\r\n      dashboardVersion: 2,\r\n    };\r\n    this.pbf.pageLoading = true;\r\n    this.pbf.pageLoading_.next(true);\r\n    this.http.get(this.api.urlList.GetSources, dataObj, (res: any) => {\r\n      this.pbf.pageLoading = false;\r\n      this.pbf.pageLoading_.next(true);\r\n      if (res) {\r\n        this.DashboardPorletsService.GetSourcesRes = res;\r\n        this.fatherList = res;\r\n        if (this.data.dashboard) {\r\n          this.DashboardPorletsService.sourcesData[this.data.dashboard.id] =\r\n            res;\r\n        }\r\n\r\n        if (this.config.datamartId) {\r\n          // this.disabled = true;\r\n          this.fatherId = this.config.datamartId;\r\n          this.sonIds = this.config.datamartViewId\r\n            ? this.config.datamartViewId.split(\",\")\r\n            : this.config.views\r\n            ? this.config.views.map((item) => item.datamartViewId)\r\n            : [];\r\n          const datasource = res.find((el) => el.id == this.fatherId);\r\n          if (datasource) {\r\n            this.getDataMart(datasource, true);\r\n            if (!this.cacheEntityType && this.config.datamartId) {\r\n              this.cacheEntityType = this.entityType;\r\n            }\r\n\r\n            let dataview = datasource.views.filter((el) =>\r\n              this.sonIds.includes(el.id)\r\n            );\r\n            this.handleItemChange(dataview, true);\r\n            this.getSelectedAllStatus();\r\n          }\r\n        }\r\n      }\r\n    });\r\n  }\r\n  getSelectedAllStatus() {\r\n    let num = 0;\r\n    let reduceNumber = 1;\r\n    this.sonList.forEach((son) => {\r\n      if (son.checked && son.langCode !== \"FINANCIAL_FIGURES\") {\r\n        num++;\r\n      }\r\n      // Accounting只有一个分类，且不需要排除Financial Figures\r\n      if (son.langCode === \"ACCOUNTING\") {\r\n        reduceNumber = 0;\r\n      }\r\n    });\r\n    if (num === this.sonList.length - reduceNumber) this.selectedAll = true;\r\n    else this.selectedAll = false;\r\n  }\r\n\r\n  nextStep() {\r\n    this.pbf.introStep.next(\"next\");\r\n  }\r\n\r\n  getDataMart(item: any, isInit = false) {\r\n    if (this.cacheEntityType && this.cacheEntityType === item.entityType) {\r\n      return;\r\n    }\r\n    if (\r\n      !isInit &&\r\n      this.cacheEntityType &&\r\n      this.cacheEntityType !== item.entityType\r\n    ) {\r\n      const _title =\r\n        this.translation.ARE_YOU_SURE_TO_CHANGE_DATA_MART ||\r\n        \".Are you sure to change entity type of data mart? Dashboard will be reset since entity type is changed.\";\r\n      const _no = this.translation.NO || \".NO\";\r\n      const _yes = this.translation.YES || \".YES\";\r\n      // const dialogRef = this.layoutUtilsService.alertElement(\r\n      // \tthis.translation.WARNING || \".WARNING\",\r\n      // \t_title,\r\n      // \t_no,\r\n      // \t_yes,\r\n      // \ttrue,\r\n      // \ttrue,\r\n      // \t\"480px\",\r\n      // \t\"324px\"\r\n      // );\r\n      const dialogRef = this.dialogService.showCommonDilaog({\r\n        title: this.translation.WARNING || \".WARNING\",\r\n        description: _title,\r\n        saveBtnLabel: _yes,\r\n        cancelBtnLabel: _no,\r\n      });\r\n      dialogRef.afterClosed().subscribe((res) => {\r\n        if (!res) {\r\n          return;\r\n        }\r\n        this.setFatherId(item, isInit);\r\n      });\r\n      return;\r\n    }\r\n    if (!item) {\r\n      return;\r\n    }\r\n    this.setFatherId(item, isInit);\r\n  }\r\n\r\n  private setFatherId(item: any, isInit = false) {\r\n    this.fatherId = item.id;\r\n    this.entityType = item.entityType;\r\n    let isFiguresChecked = false;\r\n    let isOtherChecked = false;\r\n    if (\r\n      item.views.find(\r\n        (item) =>\r\n          item.langCode === \"FINANCIAL_FIGURES\" && this.sonIds.includes(item.id)\r\n      )\r\n    ) {\r\n      isFiguresChecked = true;\r\n      this.isSelectAllDisabled = true;\r\n    }\r\n    if (\r\n      item.views.find(\r\n        (item) =>\r\n          item.langCode !== \"FINANCIAL_FIGURES\" && this.sonIds.includes(item.id)\r\n      )\r\n    )\r\n      isOtherChecked = true;\r\n\r\n    this.sonList = item.views.map((item) => {\r\n      let isDisabled =\r\n        (isFiguresChecked && item.langCode !== \"FINANCIAL_FIGURES\") ||\r\n        (item.langCode === \"FINANCIAL_FIGURES\" && isOtherChecked);\r\n      return {\r\n        ...item,\r\n        checked:\r\n          this.cacheEntityType && this.cacheEntityType !== this.entityType\r\n            ? false\r\n            : this.sonIds.includes(item.id),\r\n        disabled:\r\n          this.cacheEntityType && this.cacheEntityType !== this.entityType\r\n            ? false\r\n            : isDisabled,\r\n      };\r\n    });\r\n\r\n    this.cacheEntityType = item.entityType;\r\n\r\n    if (!isInit) {\r\n      this.sonIds = [];\r\n      this.grandsonList = [];\r\n      this.orginGrandData = [];\r\n      this.selectedAll = false;\r\n      this.isSelectAllDisabled = false;\r\n      if (this.cacheEntityType && this.cacheEntityType !== item.entityType) {\r\n        this.sonList = item.views.map((item) => {\r\n          return {\r\n            ...item,\r\n            checked: false,\r\n            disabled: false,\r\n          };\r\n        });\r\n      }\r\n    }\r\n  }\r\n\r\n  handleItemChange(data, val?: boolean) {\r\n    if (!data) return false;\r\n    if (val) {\r\n      if (Array.isArray(data)) {\r\n        data.forEach((item) => {\r\n          if (!this.sonIds.includes(item.id)) {\r\n            this.sonIds.push(item.id);\r\n          }\r\n          if (Array.isArray(item.tables)) {\r\n            item.tables.forEach((child) => {\r\n              if (!this.grandsonList.some((el) => el.id === child.id)) {\r\n                this.grandsonList.push({\r\n                  ...child,\r\n                });\r\n              }\r\n            });\r\n          }\r\n        });\r\n      } else {\r\n        // financial figures can’t be selected together with other groups\r\n        if (data.langCode !== \"FINANCIAL_FIGURES\") {\r\n          this.sonList.forEach((item) => {\r\n            if (item.langCode === \"FINANCIAL_FIGURES\") item.disabled = true;\r\n          });\r\n        } else {\r\n          if (\r\n            !this.sonList.find(\r\n              (item) => item.checked && item.langCode !== \"FINANCIAL_FIGURES\"\r\n            )\r\n          ) {\r\n            this.sonList.forEach((item) => {\r\n              if (item.langCode !== \"FINANCIAL_FIGURES\") item.disabled = true;\r\n            });\r\n            this.isSelectAllDisabled = true;\r\n          }\r\n        }\r\n        data.tables.forEach((item) => {\r\n          if (!this.grandsonList.some((el) => el.id === item.id)) {\r\n            this.grandsonList.push({\r\n              ...item,\r\n            });\r\n          }\r\n        });\r\n        if (!this.sonIds.includes(data.id)) {\r\n          this.sonIds.push(data.id);\r\n        }\r\n      }\r\n    } else {\r\n      this.grandsonList = [];\r\n      this.sonList.forEach((item) => {\r\n        if (data.langCode === \"FINANCIAL_FIGURES\") {\r\n          item.disabled = false;\r\n          this.isSelectAllDisabled = false;\r\n        }\r\n        if (item.id == data.id) {\r\n          item.checked = val;\r\n        }\r\n        if (item.checked) {\r\n          item.tables.forEach((sonItem) => {\r\n            if (!this.grandsonList.some((el) => el.id === sonItem.id)) {\r\n              this.grandsonList.push({\r\n                ...sonItem,\r\n              });\r\n            }\r\n          });\r\n        }\r\n      });\r\n      if (\r\n        data.langCode !== \"FINANCIAL_FIGURES\" &&\r\n        !this.sonList.find(\r\n          (item) => item.checked && item.langCode !== \"FINANCIAL_FIGURES\"\r\n        )\r\n      ) {\r\n        this.sonList.forEach((obj) => {\r\n          if (obj.langCode === \"FINANCIAL_FIGURES\") obj.disabled = false;\r\n        });\r\n      }\r\n      this.sonIds = this.sonIds.filter((item) => item != data.id);\r\n    }\r\n    this.getSelectedAllStatus();\r\n    this.orginGrandData = JSON.parse(JSON.stringify(this.grandsonList));\r\n    if (!this.ref[\"destroyed\"]) {\r\n      this.ref.markForCheck();\r\n      this.ref.detectChanges;\r\n    }\r\n  }\r\n  selectAll(val) {\r\n    if (!val) {\r\n      this.orginGrandData = [];\r\n    }\r\n    this.grandsonList = [];\r\n    this.sonIds = [];\r\n    this.sonList.forEach((item) => {\r\n      if (item.langCode !== \"FINANCIAL_FIGURES\") item.checked = val;\r\n      if (val) {\r\n        if (item.langCode === \"FINANCIAL_FIGURES\") {\r\n          item.disabled = true;\r\n          return;\r\n        }\r\n        this.sonIds.push(item.id);\r\n        item.tables.forEach((sonItem) => {\r\n          if (!this.grandsonList.some((el) => el.id === sonItem.id)) {\r\n            this.grandsonList.push({\r\n              ...sonItem,\r\n            });\r\n          }\r\n        });\r\n      } else {\r\n        if (item.langCode === \"FINANCIAL_FIGURES\") item.disabled = false;\r\n      }\r\n    });\r\n    this.orginGrandData = JSON.parse(JSON.stringify(this.grandsonList));\r\n  }\r\n\r\n  public doFilter = throttle((val) => this.doSearch(val), 200);\r\n  public doSearch(val) {\r\n    let tempList = JSON.parse(JSON.stringify(this.orginGrandData));\r\n    if (val) {\r\n      this.grandsonList = tempList.filter((item) =>\r\n        item.langValue.toLowerCase().includes(val.toLowerCase())\r\n      );\r\n    } else {\r\n      this.grandsonList = tempList;\r\n    }\r\n  }\r\n  // 保存弹窗筛选数据\r\n  saveData() {\r\n    this.pbf.introStep.next(\"complete\");\r\n    this.pbf.pageLoading = true;\r\n    let config;\r\n    let datamartViewCode = this.sonList.filter((el) =>\r\n      this.sonIds.includes(el.id)\r\n    );\r\n    config = {\r\n      datamartId: this.fatherId,\r\n      datamartViewId: this.sonIds.join(\",\"),\r\n      views: datamartViewCode.map((e) => {\r\n        return {\r\n          datamartViewId: e.id,\r\n          datamartViewCode: e.langCode,\r\n        };\r\n      }),\r\n    };\r\n    const entityList =\r\n      this.data.dashboard.entityType === this.entityType\r\n        ? this.DashboardPorletsService.entityList\r\n        : [];\r\n\r\n    const dataObj = {\r\n      entityList,\r\n      accountId: this.userInfo.accountId,\r\n      dashboardId: this.data.dashboardId,\r\n      dataMartTables: this.grandsonList,\r\n      entityType: this.entityType || this.data.dashboard.entityType,\r\n      config: JSON.stringify(config),\r\n    };\r\n\r\n    this.http.post(this.api.urlList.AddDataMartTables, dataObj, (res) => {\r\n      if (res.status === \"SUCCESS\") {\r\n        const _saveMessage =\r\n          this.translation.DASHBOARD_PROPERTIES_SAVED ||\r\n          \".DASHBOARD_PROPERTIES_SAVED\";\r\n        this.showToast(_saveMessage, \"Success\");\r\n        this.config.datamartViewId = this.sonIds.join(\",\");\r\n        this.config.views = [];\r\n        this.sonList.forEach((item) => {\r\n          this.sonIds.forEach((sonId) => {\r\n            if (item.id === sonId) {\r\n              this.config.views.push({\r\n                datamartViewCode: item.langCode,\r\n                datamartViewId: item.id,\r\n              });\r\n            }\r\n          });\r\n        });\r\n\r\n        this.data.dashboard.config = JSON.stringify(this.config);\r\n        if (this.data.edit) {\r\n          this.DashboardPorletsService.portletFields_Temp = {};\r\n        }\r\n        if (\r\n          entityList &&\r\n          entityList.length &&\r\n          this.data.dashboard.entityType === this.entityType\r\n        ) {\r\n          this.pbf.triggerDashboardRefresh.next({\r\n            entityList,\r\n            id: this.data.dashboard.id,\r\n          });\r\n          this.dialogRef.close(\"close\");\r\n          return;\r\n        }\r\n\r\n        this.DashboardPorletsService.GetDashboardV1(\r\n          this.data.dashboardId,\r\n          true,\r\n          (res, portlets = []) => {\r\n            this.dashboardService.changelayout.next({\r\n              status: \"true\",\r\n              id: this.data.dashboard.id,\r\n            });\r\n            this.pbf.pageLoading = false;\r\n            this.dialogRef.close({\r\n              push_btn: false,\r\n              portlet: {},\r\n              portlets,\r\n              dashboard: res,\r\n            });\r\n            this.ref.markForCheck();\r\n          }\r\n        );\r\n      } else {\r\n        this.pbf.pageLoading = false;\r\n        this.pbf.pageLoading_.next(true);\r\n        this.ref.markForCheck();\r\n        const _saveMessage = res.messages[0].message || \"error\";\r\n        this.showToast(_saveMessage, \"Error\");\r\n      }\r\n    });\r\n  }\r\n  // toast msg\r\n  public showToast(msg, status: \"Success\" | \"Error\") {\r\n    this.dialogService.showNotification(msg, {\r\n      status,\r\n    });\r\n  }\r\n  // 关闭弹窗\r\n  public closePopup() {\r\n    this.dialogRef.close(\"close\");\r\n  }\r\n}\r\n","<rs-common-dialog\r\n  class=\"data-mart-dialog\"\r\n  [title]=\"title\"\r\n  [dialogStyle]=\"data.dialogStyle\"\r\n  [showZoomBtn]=\"data.showZoomBtn\"\r\n>\r\n  <div class=\"popup_main_container\">\r\n    <div class=\"left_menu_container\" id=\"info-step-2\">\r\n      <div\r\n        class=\"menu_item\"\r\n        *ngFor=\"let item of fatherList\"\r\n        [class.selectItem]=\"fatherId === item.id\"\r\n        (click)=\"getDataMart(item)\"\r\n      >\r\n        <span class=\"activeLine\" *ngIf=\"fatherId === item.id\"></span>\r\n        {{\r\n          item.FromQB\r\n            ? item.langCode\r\n            : translation[item.langCode] || \".\" + item.langCode\r\n        }}\r\n      </div>\r\n    </div>\r\n    <div class=\"table_container\" id=\"info-step-3\" (click)=\"nextStep()\">\r\n      <div class=\"table_content\">\r\n        <div class=\"group_data\">\r\n          <div class=\"group_item__box\">\r\n            <mat-checkbox\r\n              [disabled]=\"isSelectAllDisabled\"\r\n              [color]=\"'primary'\"\r\n              [(ngModel)]=\"selectedAll\"\r\n              (ngModelChange)=\"selectAll($event)\"\r\n              >{{ translation[\"GROUP\"] || \".group\" }}</mat-checkbox\r\n            >\r\n          </div>\r\n          <div class=\"group_item__box\" *ngFor=\"let item of sonList\">\r\n            <mat-checkbox\r\n              [disabled]=\"item.disabled\"\r\n              [color]=\"'primary'\"\r\n              [(ngModel)]=\"item.checked\"\r\n              (ngModelChange)=\"handleItemChange(item, $event)\"\r\n            >\r\n              {{\r\n                item.FromQB\r\n                  ? item.langCode\r\n                  : translation[item.langCode] || \".\" + item.langCode\r\n              }}\r\n            </mat-checkbox>\r\n            <ejs-tooltip\r\n              *ngIf=\"item.langCode === 'FINANCIAL_FIGURES'\"\r\n              id=\"tooltip\"\r\n              cssClass=\"figures-tooltip\"\r\n              [content]=\"\r\n                translation.DASHBOARD_FINANCIAL_FIGURES_TOOLTIPS ||\r\n                'Financial Figures can’t be selected together with other groups.'\r\n              \"\r\n            >\r\n              <span></span>\r\n            </ejs-tooltip>\r\n            <!-- <ejs-tooltip\r\n\t\t\t\t\t\t*ngIf=\"\r\n\t\t\t\t\t\t\tDashboardPorletsService.checkIsQ2Q(item.tables)\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\tcssClass=\"figures-tooltip\"\r\n\t\t\t\t\t\tcontent=\"Q2Q\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<span></span>\r\n\t\t\t\t\t</ejs-tooltip> -->\r\n          </div>\r\n        </div>\r\n        <div class=\"table_data\">\r\n          <div class=\"table_header\">\r\n            <div class=\"data_table_box\">\r\n              <div class=\"table_title\">\r\n                {{ translation[\"DATA_TABLE\"] || \".Data Table\" }}\r\n              </div>\r\n              <!-- <div class=\"search_container\">\r\n\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\tmatInput\r\n\t\t\t\t\t\t\t\t\t[placeholder]=\"translation['SEARCH']\"\r\n\t\t\t\t\t\t\t\t\tclass=\"search_input\"\r\n\t\t\t\t\t\t\t\t\t(keyup)=\"doFilter($event.target.value)\"\r\n\t\t\t\t\t\t\t\t\tautocomplete=\"off\"\r\n\t\t\t\t\t\t\t\t\t(keydown)=\"\r\n\t\t\t\t\t\t\t\t\t\tpbf.disabledInputEnterEvent($event)\r\n\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div> -->\r\n            </div>\r\n            <div class=\"search_container\">\r\n              <rs-search-input\r\n                (hanleSearch)=\"doFilter($event)\"\r\n              ></rs-search-input>\r\n            </div>\r\n          </div>\r\n          <div class=\"table_main_content\" style=\"overflow: auto\">\r\n            <div\r\n              *ngFor=\"let item of grandsonList\"\r\n              [class.maxBox]=\"grandsonList.length >= 11\"\r\n            >\r\n              <div *ngIf=\"!item.isHide\" class=\"table_data_item\">\r\n                <span>\r\n                  {{\r\n                    item.FromQB\r\n                      ? item.langCode\r\n                      : translation[item.langCode] || \".\" + item.langCode\r\n                  }}\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div footerSlot #footerSlot>\r\n    <div class=\"footer-btn-bar\">\r\n      <button class=\"e-btn small\" (click)=\"closePopup()\">\r\n        {{ translation[\"CANCEL\"] || \".CANCEL\" }}\r\n      </button>\r\n      <button\r\n        class=\"e-btn e-primary small\"\r\n        [disabled]=\"disabled || !entityType || grandsonList.length == 0\"\r\n        (click)=\"saveData()\"\r\n      >\r\n        {{ translation.APPLY ? translation.APPLY : \".APPLY\" }}\r\n      </button>\r\n    </div>\r\n  </div>\r\n</rs-common-dialog>\r\n","export function debounce(delay: number = 300): MethodDecorator {\r\n  // tslint:disable-next-line: only-arrow-functions\r\n  return function (descriptor: PropertyDescriptor) {\r\n    const timeoutKey = Symbol();\r\n\r\n    const original = descriptor.value;\r\n    if (!original) {\r\n      return;\r\n    }\r\n\r\n    descriptor.value = function (...args) {\r\n      clearTimeout(this[timeoutKey]);\r\n      this[timeoutKey] = setTimeout(\r\n        function () {\r\n          original.apply(this, args);\r\n        }.bind(this),\r\n        delay\r\n      );\r\n    };\r\n\r\n    return descriptor;\r\n  };\r\n}\r\n","import { Component, OnInit, Inject } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { SectionItem } from \"raise-common-lib\";\r\nimport { getTranslation } from \"../../../utils/utils\";\r\n\r\n@Component({\r\n  selector: \"kt-duplicate-dialog\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class DuplicateDialogComponent implements OnInit {\r\n  public translation;\r\n  private userInfo;\r\n  constructor(\r\n    @Inject(MAT_DIALOG_DATA) public data: any,\r\n    public dialogRef: MatDialogRef<DuplicateDialogComponent>\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.getInfo();\r\n    this.initForm();\r\n    setTimeout(() => {\r\n      this.initSection();\r\n    });\r\n  }\r\n  public cancel() {\r\n    this.dialogRef.close(\"close\");\r\n  }\r\n\r\n  public update() {\r\n    this.dialogRef.close(this.form);\r\n  }\r\n\r\n  private getInfo() {\r\n    this.translation = getTranslation();\r\n    this.userInfo = JSON.parse(localStorage.getItem(\"userInfo\") || \"{}\");\r\n  }\r\n\r\n  form: Record<string, any> = {};\r\n  sections: SectionItem[] = [];\r\n  optionsMap: Record<string, any[]> = {};\r\n\r\n  initForm() {\r\n    this.form = {\r\n      targetTab: null,\r\n      position: \"back\",\r\n    };\r\n  }\r\n\r\n  initSection() {\r\n    this.sections = [\r\n      {\r\n        title: \"\",\r\n        fields: [\r\n          {\r\n            label: this.translation.TARGET_TAB || \".TARGET_TAB\",\r\n            fieldFormType: \"Dropdown\",\r\n            formKey: \"targetTab\",\r\n            required: true,\r\n            optionKey: \"tabList\",\r\n          },\r\n          {\r\n            label: this.translation.POSITION || \".POSITION\",\r\n            fieldFormType: \"Dropdown\",\r\n            formKey: \"position\",\r\n            required: true,\r\n            optionKey: \"positionList\",\r\n          },\r\n        ],\r\n      },\r\n    ];\r\n    this.optionsMap.tabList = this.data.tabList.map((ele) => {\r\n      return {\r\n        text: ele.label,\r\n        code: ele.id,\r\n      };\r\n    });\r\n    this.optionsMap.positionList = [\r\n      {\r\n        text:\r\n          this.translation.INSERT_AT_BEGINNING ||\r\n          \".INSERT_AT_BEGINNING\",\r\n        code: \"front\",\r\n      },\r\n      {\r\n        text: this.translation.INSERT_AT_END || \".INSERT_AT_END\",\r\n        code: \"back\",\r\n      },\r\n    ];\r\n  }\r\n}\r\n","<rs-common-dialog\r\n\tclass=\"duplicate-dialog\"\r\n\t[title]=\"translation.DUPLICATE_TO_OTHER_TAB ? translation.DUPLICATE_TO_OTHER_TAB : '.DUPLICATE_TO_OTHER_TAB'\"\r\n\t[dialogStyle]=\"data.dialogStyle\"\r\n>\r\n\t<div class=\"popup_main_container\">\r\n\t\t<rs-drawer-form\r\n\t\t\t#formInstance\r\n\t\t\t[(form)]=\"form\"\r\n\t\t\t[sections]=\"sections\"\r\n\t\t\t[optionsMap]=\"optionsMap\"\r\n\t\t></rs-drawer-form>\r\n\t</div>\r\n\t<div footerSlot #footerSlot>\r\n\t\t<div class=\"footer-btn-bar\">\r\n\t\t\t<button class=\"e-btn small\" (click)=\"cancel()\">\r\n\t\t\t\t{{ translation[\"CANCEL\"] || \".CANCEL\" }}\r\n\t\t\t</button>\r\n\t\t\t<button\r\n\t\t\t\tclass=\"e-btn e-primary small\"\r\n\t\t\t\t[disabled]=\"!formInstance.formIsValid\"\r\n\t\t\t\t(click)=\"update()\"\r\n\t\t\t>\r\n\t\t\t\t{{ translation.SAVE ? translation.SAVE : \".SAVE\" }}\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</div>\r\n</rs-common-dialog>\r\n","import { Component, OnInit, Inject } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { SectionItem } from \"raise-common-lib\";\r\nimport { getTranslation } from \"../../../utils/utils\";\r\n\r\n@Component({\r\n  selector: \"kt-rename-dialog\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class RenameDialogComponent implements OnInit {\r\n  public translation;\r\n  private userInfo;\r\n  constructor(\r\n    @Inject(MAT_DIALOG_DATA) public data: any,\r\n    public dialogRef: MatDialogRef<RenameDialogComponent>\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.getInfo();\r\n    this.initSection();\r\n    this.initForm();\r\n  }\r\n  public cancel() {\r\n    this.dialogRef.close(\"close\");\r\n  }\r\n\r\n  public update() {\r\n    this.dialogRef.close(this.form);\r\n  }\r\n\r\n  private getInfo() {\r\n    this.translation = getTranslation();\r\n    this.userInfo = JSON.parse(localStorage.getItem(\"userInfo\") || \"{}\");\r\n  }\r\n\r\n  form: Record<string, any> = {};\r\n  sections: SectionItem[] = [];\r\n  optionsMap: Record<string, any[]> = {};\r\n\r\n  initForm() {\r\n    this.form = {\r\n      name: this.data.name,\r\n    };\r\n  }\r\n\r\n  initSection() {\r\n    this.sections = [\r\n      {\r\n        title: \"\",\r\n        fields: [\r\n          {\r\n            label: this.translation.NAME || \".NAME\",\r\n            fieldFormType: \"Text\",\r\n            formKey: \"name\",\r\n            required: true,\r\n          },\r\n        ],\r\n      },\r\n    ];\r\n  }\r\n}\r\n","<rs-common-dialog\r\n\tclass=\"rename-dialog\"\r\n\t[title]=\"translation.RENAME ? translation.RENAME : '.RENAME'\"\r\n\t[dialogStyle]=\"data.dialogStyle\"\r\n>\r\n\t<div class=\"popup_main_container\">\r\n\t\t<rs-drawer-form\r\n\t\t\t#formInstance\r\n\t\t\t[(form)]=\"form\"\r\n\t\t\t[sections]=\"sections\"\r\n\t\t\t[optionsMap]=\"optionsMap\"\r\n\t\t></rs-drawer-form>\r\n\t</div>\r\n\t<div footerSlot #footerSlot>\r\n\t\t<div class=\"footer-btn-bar\">\r\n\t\t\t<button class=\"e-btn small\" (click)=\"cancel()\">\r\n\t\t\t\t{{ translation[\"CANCEL\"] || \".CANCEL\" }}\r\n\t\t\t</button>\r\n\t\t\t<button\r\n\t\t\t\tclass=\"e-btn e-primary small\"\r\n\t\t\t\t[disabled]=\"!formInstance.formIsValid\"\r\n\t\t\t\t(click)=\"update()\"\r\n\t\t\t>\r\n\t\t\t\t{{ translation.SAVE ? translation.SAVE : \".SAVE\" }}\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</div>\r\n</rs-common-dialog>\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  Inject,\r\n  OnInit,\r\n  ViewChild,\r\n  Optional,\r\n} from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { ApiList } from \"../../api\";\r\nimport { cloneDeep, sortBy } from \"lodash\";\r\nimport { SectionItem } from \"raise-common-lib\";\r\nimport { API_SERVICE_TOKEN, PBF_TOKEN } from \"../../../service/InjectionToken\";\r\nimport { getTranslation } from \"../../../utils/utils\";\r\n\r\n@Component({\r\n  selector: \"kt-dashboard-redirect\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DashboardRedirectComponent implements OnInit {\r\n  @ViewChild(\"formInstance\", { static: true }) formInstance: any;\r\n  form = {\r\n    date: null,\r\n    objectType: null,\r\n    object: null,\r\n    entity: null,\r\n    currency: null,\r\n    entityType: null,\r\n    dashboardName: null,\r\n    dashboardGroupId: null,\r\n    dashboardGroupName: null,\r\n    RegionDataSetId: null,\r\n    showHightlight: null,\r\n  };\r\n  title;\r\n  sections?: SectionItem[] = [];\r\n  optionsMap = {\r\n    entityList: [],\r\n    objectTypeList: [],\r\n    objectList: [],\r\n    currencyList: [],\r\n  };\r\n  translation;\r\n  userInfo;\r\n  lang;\r\n  useDefaultDate = false;\r\n  useDefaultCurrency = false;\r\n\r\n  constructor(\r\n    @Inject(MAT_DIALOG_DATA) private data: any,\r\n    private dialogRef: MatDialogRef<DashboardRedirectComponent>,\r\n    private api: ApiList,\r\n    @Optional() @Inject(API_SERVICE_TOKEN) private http: any,\r\n    @Optional() @Inject(PBF_TOKEN) private pbf: any,\r\n    private ref: ChangeDetectorRef\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.getInfo();\r\n    if (this.data && this.data.config) {\r\n      if (\r\n        this.data.config.redirectObject &&\r\n        this.data.config.redirectObject instanceof Object\r\n      ) {\r\n        this.form = cloneDeep(this.data.config.redirectObject);\r\n      }\r\n      if (!this.form.currency) {\r\n        this.form.currency = this.data.currencyCode;\r\n        this.useDefaultCurrency = true;\r\n      }\r\n      if (!this.form.date) {\r\n        this.form.date = this.pbf.setUTCtoString(this.data.asOfDate);\r\n        this.useDefaultDate = true;\r\n      }\r\n      this.ref.detectChanges();\r\n    }\r\n    this.getCurrencyList();\r\n    this.initSection();\r\n    this.initOptionMaps();\r\n  }\r\n\r\n  private getInfo() {\r\n    this.translation = getTranslation();\r\n    this.userInfo = JSON.parse(localStorage.getItem(\"userInfo\") || \"{}\");\r\n    this.lang = this.pbf.getLanguageParams();\r\n    this.title =\r\n      this.translation.DRILL_THROUGH_CONFIG || \".DRILL_THROUGH_CONFIG\";\r\n    this.ref.detectChanges();\r\n  }\r\n\r\n  private initSection() {\r\n    this.sections = [\r\n      {\r\n        title: \"\",\r\n        fields: [\r\n          {\r\n            label: this.translation[\"OBJECT_TYPE\"] || \".OBJECT_TYPE\",\r\n            formKey: \"objectType\",\r\n            fieldFormType: \"Dropdown\",\r\n            optionKey: \"objectTypeList\",\r\n          },\r\n          {\r\n            label: this.translation[\"OBJECT\"] || \".OBJECT\",\r\n            formKey: \"object\",\r\n            fieldFormType: \"Dropdown\",\r\n            required: true,\r\n            optionKey: \"objectList\",\r\n            onChange: (val) => {\r\n              this.optionsMap.objectList.forEach((item) => {\r\n                if (item.code === val) {\r\n                  this.form.entityType = item.entityType;\r\n                  this.form.dashboardName = item.text;\r\n                  this.form.dashboardGroupId = item.dashboardGroupId;\r\n                  this.form.dashboardGroupName = item.dashboardGroupName;\r\n                  this.form.RegionDataSetId = item.RegionDataSetId;\r\n                }\r\n              });\r\n              this.ref.detectChanges();\r\n            },\r\n          },\r\n          {\r\n            label: this.translation[\"DATE\"] || \".DATE\",\r\n            formKey: \"date\",\r\n            fieldFormType: \"Datepicker\",\r\n            onChange: () => {\r\n              this.useDefaultDate = false;\r\n              this.ref.detectChanges();\r\n            },\r\n          },\r\n          {\r\n            label: this.translation[\"CURRENCY\"] || \".CURRENCY\",\r\n            formKey: \"currency\",\r\n            fieldFormType: \"Dropdown\",\r\n            optionKey: \"currencyList\",\r\n            onChange: () => {\r\n              this.useDefaultCurrency = false;\r\n              this.ref.detectChanges();\r\n            },\r\n          },\r\n          {\r\n            label:\r\n              this.translation[\"DISPLAY_LINKS_IN_BLUE\"] ||\r\n              \".DISPLAY_LINKS_IN_BLUE\",\r\n            formKey: \"showHightlight\",\r\n            fieldFormType: \"Switch\",\r\n          },\r\n        ],\r\n      },\r\n    ];\r\n    this.sections = [...this.sections];\r\n    this.ref.detectChanges();\r\n  }\r\n\r\n  private initOptionMaps() {\r\n    this.pbf.pageLoading = true;\r\n    this.pbf.pageLoading_.next(true);\r\n    this.optionsMap.objectTypeList = [\r\n      {\r\n        code: \"DASHBOARD\",\r\n        text: this.translation[\"DASHBOARD\"] || \".DASHBOARD\",\r\n      },\r\n      {\r\n        code: \"COMPANY\",\r\n        text: this.translation[\"COMPANY\"] || \".COMPANY\",\r\n      },\r\n      {\r\n        code: \"FUND\",\r\n        text: this.translation[\"FUND\"] || \".FUND\",\r\n      },\r\n    ];\r\n    let data = {\r\n      accountId: this.userInfo.accountId,\r\n      username: this.userInfo.username,\r\n      language: this.lang,\r\n      version: 1,\r\n      dashboardVersion: 2,\r\n    };\r\n    this.http.get(this.api.urlList.GetDashboardGroup, data, (res) => {\r\n      this.pbf.pageLoading = false;\r\n      this.pbf.pageLoading_.next(true);\r\n\r\n      if (res && res.length) this.getPageData(res);\r\n    });\r\n  }\r\n\r\n  close() {\r\n    this.dialogRef.close();\r\n  }\r\n\r\n  private getPageData(res) {\r\n    const InvalidID = \"00000000-0000-0000-0000-000000000000\";\r\n    let labelIsNull = res.filter(\r\n      (group) => group.id == InvalidID && group.name === null\r\n    );\r\n    let allDashboards = [];\r\n    if (labelIsNull && labelIsNull.length) {\r\n      allDashboards = labelIsNull[0].dashboardList;\r\n      res = res.filter(\r\n        (group) => group.id !== InvalidID && group.name !== null\r\n      );\r\n    }\r\n    for (const group of res) {\r\n      group.type = \"Dashboard\";\r\n\r\n      if (group.dashboardList && group.dashboardList.length) {\r\n        let dashboardList = JSON.parse(JSON.stringify(group.dashboardList));\r\n        group.dashboardList = dashboardList.filter(\r\n          (dashboard) => !dashboard.share\r\n        );\r\n        group.dashboardList = sortBy(group.dashboardList, \"seq\");\r\n        allDashboards = allDashboards.concat(group.dashboardList);\r\n      }\r\n    }\r\n    this.optionsMap.objectList = allDashboards.map((item) => {\r\n      return {\r\n        code: item.id,\r\n        text: item.name,\r\n        entityType: item.entityType,\r\n        dashboardGroupId: item.dashboardGroupId,\r\n        dashboardGroupName: item.dashboardGroupName,\r\n        RegionDataSetId: item.RegionDataSetId,\r\n      };\r\n    });\r\n    this.ref.detectChanges();\r\n  }\r\n\r\n  private getCurrencyList() {\r\n    let data = {\r\n      accountId: this.userInfo.accountId,\r\n      username: this.userInfo.username,\r\n      language: this.lang,\r\n      alias: \"Currency\",\r\n    };\r\n    this.http.post(this.api.urlList.GetDropdown, data, (res) => {\r\n      if (res) {\r\n        this.optionsMap.currencyList = [...res].map((item) => {\r\n          return {\r\n            code: item.code,\r\n            text: item.langInUse,\r\n          };\r\n        });\r\n        this.optionsMap.currencyList = [...this.optionsMap.currencyList];\r\n      }\r\n    });\r\n  }\r\n\r\n  save() {\r\n    if (!this.formInstance.preCheckFormIsValid()) {\r\n      return;\r\n    }\r\n    if (this.useDefaultCurrency) {\r\n      this.form.currency = null;\r\n    }\r\n    if (this.useDefaultDate) {\r\n      this.form.date = null;\r\n    }\r\n    this.dialogRef.close(this.form);\r\n  }\r\n}\r\n","<rs-common-dialog [title]=\"title\" [hideCloseIcon]=\"false\">\r\n\t<rs-drawer-form\r\n\t\t#formInstance\r\n\t\t[(form)]=\"form\"\r\n\t\t[sections]=\"sections\"\r\n\t\t[optionsMap]=\"optionsMap\"\r\n\t></rs-drawer-form>\r\n\r\n\t<ng-container footerSlot #footerSlot>\r\n\t\t<button class=\"e-btn\" (click)=\"close()\">\r\n\t\t\t{{ translation.CANCEL || \".Cancel\" }}\r\n\t\t</button>\r\n\t\t<button class=\"e-btn e-primary\" (click)=\"save()\">\r\n\t\t\t{{ translation.SAVE || \".Save\" }}\r\n\t\t</button>\r\n\t</ng-container>\r\n</rs-common-dialog>\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  ChangeDetectorRef,\r\n  ChangeDetectionStrategy,\r\n  Input,\r\n  Output,\r\n  EventEmitter,\r\n} from \"@angular/core\";\r\nimport { ApiList } from \"../api\";\r\nimport { DashboardService } from \"../dashboard.service\";\r\nimport { DashboardPorletsService } from \"../dashboardPorlets.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport moment from \"moment\";\r\nimport CircularJSON from \"circular-json\";\r\nimport { API_SERVICE_TOKEN, PBF_TOKEN } from \"../../service/InjectionToken\";\r\nimport { Optional, Inject } from \"@angular/core\";\r\nimport { getTranslation } from \"../../utils/utils\";\r\n\r\n@Component({\r\n  selector: \"rs-sidebar-iconlist-new\",\r\n  templateUrl: \"./sidebar-iconlist-new.component.html\",\r\n  styleUrls: [\"./sidebar-iconlist-new.component.scss\"],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SidebarIconlistNewComponent implements OnInit {\r\n  @Input() dashboard_sidebar: boolean = false;\r\n  @Input() dashboard;\r\n  @Input() dashboardId;\r\n  @Input() activeTabId;\r\n  @Input() activeTabLabel;\r\n  @Input() portlets = [];\r\n  @Input() tabactive = false;\r\n  @Input() portlet;\r\n  @Input() figureCode;\r\n  @Input() _selectedX: any = [];\r\n  @Input() _selectedY: any = [];\r\n  @Input() _selectedMultiples: any = null;\r\n  @Input() _selectedSecondY: any = [];\r\n  @Input() _selectTheme: any = null;\r\n  @Output() closeSidebar = new EventEmitter();\r\n  @Output() updatePorletConfig = new EventEmitter();\r\n  @Output() onToggleTabactive = new EventEmitter();\r\n  @Output() updatePorlet = new EventEmitter();\r\n  @Output() updatePushBtn = new EventEmitter();\r\n  @Output() chartUpdate = new EventEmitter();\r\n  @Output() updateTheme = new EventEmitter();\r\n  public translation;\r\n  private lang;\r\n  public dataMartTableList = [];\r\n  hasChanged = false;\r\n  //config;\r\n  public gadgetTitle;\r\n  endDate;\r\n  private subscriptions: Subscription[] = [];\r\n  public portletType;\r\n  public expandArray: Array<boolean> = [\r\n    false,\r\n    false,\r\n    false,\r\n    false,\r\n    false,\r\n    false,\r\n    false,\r\n  ];\r\n  public selectedDataTable: any = \"\";\r\n  public selectedDatamart;\r\n  public chartSettings: any = {\r\n    legendSettings: {\r\n      visible: false,\r\n    },\r\n    enableMultipleAxis: false,\r\n    showMultiLevelLabels: false,\r\n    chartSeries: {\r\n      type: \"Column\",\r\n      width: 2,\r\n    },\r\n    multipleAxisMode: \"Stacked\",\r\n    primaryXAxis: {\r\n      title: \" \",\r\n      majorGridLines: { width: 0 },\r\n    },\r\n    chartArea: {\r\n      opacity: 0,\r\n      border: {\r\n        width: 0,\r\n      },\r\n    },\r\n    palettes: [\r\n      \"#594bb9\",\r\n      \"#f1af32\",\r\n      \"#4688ed\",\r\n      \"#e0563e\",\r\n      \"#803a63\",\r\n      \"#6dd8b5\",\r\n      \"#e87225\",\r\n      \"#c5df42\",\r\n      \"#c6437d\",\r\n    ],\r\n    primaryYAxis: {\r\n      // Y轴标题设置为空\r\n      title: \" \",\r\n    },\r\n    zoomSettings: {\r\n      enableMouseWheelZooming: false, // 禁用鼠标滚轮缩放\r\n      enablePinchZooming: false, // 禁用触摸缩放\r\n      enableSelectionZooming: false, // 禁用选择区域缩放\r\n      enableDeferredZooming: false, // 禁用延迟缩放\r\n      toolbarItems: [],\r\n      enableScrollbar: false,\r\n      enableZooming: false,\r\n    },\r\n  };\r\n  public displayOption = { view: \"Both\", primary: \"Chart\" };\r\n  public config;\r\n  public currentTab: string = \"tab1\";\r\n  public yList: any = [];\r\n  datePipeFormat = \"\";\r\n  public chartTypeList = [];\r\n  public multipleAxisModeList = [\r\n    {\r\n      value: \"Stacked\",\r\n      text: \"Stacked\",\r\n    },\r\n    {\r\n      value: \"Single\",\r\n      text: \"Single\",\r\n    },\r\n    {\r\n      value: \"Combined\",\r\n      text: \"Combined\",\r\n    },\r\n  ];\r\n  themeData: any = [\r\n    {\r\n      id: \"theme01\",\r\n      value: [\r\n        \"#005496\",\r\n        \"#F7941C\",\r\n        \"#C04785\",\r\n        \"#2F7487\",\r\n        \"#45A1AC\",\r\n        \"#FAD870\",\r\n        \"#D6DBDF\",\r\n        \"#62D0CC\",\r\n        \"#0099DA\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme02\",\r\n      value: [\r\n        \"#C04685\",\r\n        \"#005496\",\r\n        \"#64CFCC\",\r\n        \"#0299DA\",\r\n        \"#2F7487\",\r\n        \"#44A1AC\",\r\n        \"#D6DBDF\",\r\n        \"#E16C7A\",\r\n        \"#A00213\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme03\",\r\n      value: [\r\n        \"#005496\",\r\n        \"#0299DA\",\r\n        \"#FFB400\",\r\n        \"#C04685\",\r\n        \"#E16C7A\",\r\n        \"#D6DBDF\",\r\n        \"#2F7487\",\r\n        \"#62D0CC\",\r\n        \"#9FA7AF\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme04\",\r\n      value: [\r\n        \"#005496\",\r\n        \"#005D9F\",\r\n        \"#0065A7\",\r\n        \"#006EB0\",\r\n        \"#0077B8\",\r\n        \"#007FC1\",\r\n        \"#0088C9\",\r\n        \"#0090D2\",\r\n        \"#0099DA\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme05\",\r\n      value: [\r\n        \"#2F7487\",\r\n        \"#358090\",\r\n        \"#3C8B98\",\r\n        \"#4297A1\",\r\n        \"#49A2AA\",\r\n        \"#4FAEB2\",\r\n        \"#55B9BB\",\r\n        \"#5CC5C3\",\r\n        \"#62D0CC\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme06\",\r\n      value: [\r\n        \"#F7941C\",\r\n        \"#FA9D39\",\r\n        \"#FDA64D\",\r\n        \"#FFAF61\",\r\n        \"#FFB874\",\r\n        \"#FFC087\",\r\n        \"#FFCA9A\",\r\n        \"#FFD3AD\",\r\n        \"#FFDCC0\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme07\",\r\n      value: [\r\n        \"#C04785\",\r\n        \"#A85190\",\r\n        \"#905C9A\",\r\n        \"#7866A5\",\r\n        \"#6070B0\",\r\n        \"#487ABA\",\r\n        \"#3085C5\",\r\n        \"#188FCF\",\r\n        \"#0099DA\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme08\",\r\n      value: [\r\n        \"#F7941C\",\r\n        \"#E1962E\",\r\n        \"#CB9740\",\r\n        \"#B49952\",\r\n        \"#9E9B64\",\r\n        \"#889C76\",\r\n        \"#729E88\",\r\n        \"#5B9F9A\",\r\n        \"#45A1AC\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme09\",\r\n      value: [\r\n        \"#F7941C\",\r\n        \"#F08A29\",\r\n        \"#E98136\",\r\n        \"#E27743\",\r\n        \"#DC6E51\",\r\n        \"#D5645E\",\r\n        \"#CE5A6B\",\r\n        \"#C75178\",\r\n        \"#C04785\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme13\",\r\n      value: [\"#1C3484\", \"#35B9FC\"],\r\n    },\r\n    {\r\n      id: \"theme14\",\r\n      value: [\"#04578F\", \"#3EBBCE\"],\r\n    },\r\n    {\r\n      id: \"theme15\",\r\n      value: [\"#1C3484\", \"#136BBB\", \"#35B9FC\"],\r\n    },\r\n    {\r\n      id: \"theme16\",\r\n      value: [\"#04578F\", \"#0082AF\", \"#3EBBCE\"],\r\n    },\r\n    {\r\n      id: \"theme17\",\r\n      value: [\"#1C3484\", \"#1659A9\", \"#1D97E1\", \"#35B9FC\"],\r\n    },\r\n    {\r\n      id: \"theme18\",\r\n      value: [\"#04578F\", \"#0070A3\", \"#16A2C2\", \"#3EBBCE\"],\r\n    },\r\n    {\r\n      id: \"theme19\",\r\n      value: [\"#1C3484\", \"#1659A9\", \"#1375C4\", \"#1D97E1\", \"#35B9FC\"],\r\n    },\r\n    {\r\n      id: \"theme20\",\r\n      value: [\"#04578F\", \"#0070A3\", \"#0089B4\", \"#16A2C2\", \"#3EBBCE\"],\r\n    },\r\n    {\r\n      id: \"theme21\",\r\n      value: [\"#1C3484\", \"#1659A9\", \"#1368B8\", \"#1375C4\", \"#1D97E1\", \"#35B9FC\"],\r\n    },\r\n    {\r\n      id: \"theme22\",\r\n      value: [\"#04578F\", \"#0070A3\", \"#007FAD\", \"#0089B4\", \"#16A2C2\", \"#3EBBCE\"],\r\n    },\r\n    {\r\n      id: \"theme23\",\r\n      value: [\r\n        \"#1C3484\",\r\n        \"#1659A9\",\r\n        \"#145FAF\",\r\n        \"#1368B8\",\r\n        \"#1375C4\",\r\n        \"#1D97E1\",\r\n        \"#35B9FC\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme24\",\r\n      value: [\r\n        \"#04578F\",\r\n        \"#0070A3\",\r\n        \"#0078A9\",\r\n        \"#007FAD\",\r\n        \"#0089B4\",\r\n        \"#16A2C2\",\r\n        \"#3EBBCE\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme11\",\r\n      value: [\r\n        \"#1C3484\",\r\n        \"#194697\",\r\n        \"#1659A9\",\r\n        \"#136BBB\",\r\n        \"#147ECC\",\r\n        \"#1B92DD\",\r\n        \"#26A5ED\",\r\n        \"#35B9FC\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme12\",\r\n      value: [\r\n        \"#04578F\",\r\n        \"#00659B\",\r\n        \"#0073A6\",\r\n        \"#0082AF\",\r\n        \"#0090B8\",\r\n        \"#0F9EC0\",\r\n        \"#29ADC7\",\r\n        \"#3EBBCE\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme1\",\r\n      value: [\r\n        \"#594bb9\",\r\n        \"#f1af32\",\r\n        \"#4688ed\",\r\n        \"#e0563e\",\r\n        \"#803a63\",\r\n        \"#6dd8b5\",\r\n        \"#e87225\",\r\n        \"#c5df42\",\r\n        \"#c6437d\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme2\",\r\n      value: [\r\n        \"#4688ed\",\r\n        \"#f1af32\",\r\n        \"#e0563e\",\r\n        \"#803a63\",\r\n        \"#6dd8b5\",\r\n        \"#e87225\",\r\n        \"#c5df42\",\r\n        \"#c6437d\",\r\n        \"#594bb9\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme3\",\r\n      value: [\r\n        \"#c6437d\",\r\n        \"#c5df42\",\r\n        \"#e87225\",\r\n        \"#6dd8b5\",\r\n        \"#e0563e\",\r\n        \"#803a63\",\r\n        \"#f1af32\",\r\n        \"#594bb9\",\r\n        \"#4688ed\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme4\",\r\n      value: [\r\n        \"#2f499f\",\r\n        \"#8d1d2e\",\r\n        \"#e9bf35\",\r\n        \"#51772f\",\r\n        \"#469bd8\",\r\n        \"#5c448f\",\r\n        \"#da732f\",\r\n        \"#245353\",\r\n        \"#43a245\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme5\",\r\n      value: [\r\n        \"#383839\",\r\n        \"#446ec6\",\r\n        \"#cf6384\",\r\n        \"#ebb37e\",\r\n        \"#71a249\",\r\n        \"#4bb1a5\",\r\n        \"#e87225\",\r\n        \"#c5df42\",\r\n        \"#c6437d\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme6\",\r\n      value: [\r\n        \"#517ae1\",\r\n        \"#6386e5\",\r\n        \"#7491e9\",\r\n        \"#849dec\",\r\n        \"#94a9ef\",\r\n        \"#a4b6f2\",\r\n        \"#b4c3f6\",\r\n        \"#c4cff9\",\r\n        \"#d4ddfd\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme7\",\r\n      value: [\r\n        \"#39828e\",\r\n        \"#488e99\",\r\n        \"#579aa5\",\r\n        \"#66a6b0\",\r\n        \"#75b3bd\",\r\n        \"#85bfc9\",\r\n        \"#95cdd6\",\r\n        \"#a4dae2\",\r\n        \"#b5e8f0\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme8\",\r\n      value: [\r\n        \"#e7963d\",\r\n        \"#ea9e4b\",\r\n        \"#eea659\",\r\n        \"#f0ae68\",\r\n        \"#f2b678\",\r\n        \"#f3bf87\",\r\n        \"#f5c798\",\r\n        \"#f6d0aa\",\r\n        \"#f7d9bb\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme9\",\r\n      value: [\r\n        \"#64a8b4\",\r\n        \"#7ebec0\",\r\n        \"#9cc9ca\",\r\n        \"#b8d4d4\",\r\n        \"#d9d6cd\",\r\n        \"#d8b7a7\",\r\n        \"#ce8f93\",\r\n        \"#c1627f\",\r\n        \"#ad2458\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme10\",\r\n      value: [\r\n        \"#4176ba\",\r\n        \"#559ae8\",\r\n        \"#70b3e8\",\r\n        \"#a7cce7\",\r\n        \"#dfdfdf\",\r\n        \"#d2a08b\",\r\n        \"#c76a50\",\r\n        \"#ca4e34\",\r\n        \"#aa3c29\",\r\n      ],\r\n    },\r\n  ];\r\n\r\n  public themeFields: Object = { text: \"value\", value: \"id\" };\r\n\r\n  constructor(\r\n    private api: ApiList,\r\n    @Optional() @Inject(API_SERVICE_TOKEN) private http: any,\r\n    public dashboardService: DashboardService,\r\n    public dashboardPorletsService: DashboardPorletsService,\r\n    private ref: ChangeDetectorRef,\r\n    @Optional() @Inject(PBF_TOKEN) public pbf: any\r\n  ) {}\r\n  ngOnInit() {\r\n    this.getInfo();\r\n    this.getmultiplesList();\r\n    this.initHistoricalIRROptions();\r\n    this.setDatabind();\r\n  }\r\n\r\n  ngOnChanges() {\r\n    this.ref.markForCheck(); // 标记为需要检测\r\n  }\r\n  ngAfterViewInit(): void {\r\n    this.subscriptions.push(\r\n      this.dashboardService.getPushbtn().subscribe((id) => {\r\n        if (this.dashboard && this.dashboard.id === id) {\r\n          this.config = this.getConfig([]);\r\n          this.selectedDatamart = \"\";\r\n          this.selectedX = null;\r\n          this.selectedY = [];\r\n          this.selectedSecondY = [];\r\n          this.selectedMultiples = null;\r\n          this.ref.markForCheck();\r\n          this.ref.detectChanges();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getportletEdit().subscribe((dashboardId) => {\r\n        if (dashboardId === this.dashboardId) {\r\n          this.setDatabind();\r\n        }\r\n      })\r\n    );\r\n    this.initDataMartTableList();\r\n  }\r\n  frequencyDataMartTableList = [];\r\n  hasFrequencyOption = false;\r\n  private initDataMartTableList() {\r\n    this.dataMartTableList = [...this.dashboard.dataMartTables]\r\n      .filter((item) => !item.isHide)\r\n      .map((item) => ({\r\n        ...item,\r\n        text: this.translation[item.langCode] || item.langCode,\r\n        value: item.datamartCode,\r\n      }));\r\n\r\n    let hasSeeThroughPositionComparison = false;\r\n\r\n    this.dataMartTableList = this.dataMartTableList.filter((item) => {\r\n      if (item.datamartCode === \"SeeThroughPositionComparison\") {\r\n        if (hasSeeThroughPositionComparison) {\r\n          return false;\r\n        } else {\r\n          hasSeeThroughPositionComparison = true;\r\n        }\r\n      }\r\n      return true;\r\n    });\r\n\r\n    this.frequencyDataMartTableList = this.dashboard.dataMartTables.filter(\r\n      (item) => item.frequency\r\n    );\r\n    this.dashboardPorletsService.renameDataMartTables(\r\n      this.dataMartTableList,\r\n      this.dashboard.id,\r\n      this.dashboard.entityType\r\n    );\r\n    this.dashboardPorletsService.sortDataMartTables(this.dataMartTableList);\r\n    if (!this.portlet) {\r\n      return;\r\n    }\r\n    let figureCode = this.portlet.figureCode;\r\n    this.dashboard.dataMartTables.forEach((item) => {\r\n      if (item.datamartCode === figureCode && item.prefix) {\r\n        figureCode = item.prefix;\r\n      }\r\n    });\r\n    if (\r\n      !this.dataMartTableList.find((item) => item.datamartCode === figureCode)\r\n    ) {\r\n      this.dataMartTableList.forEach((data) => {\r\n        if (data.prefix === figureCode) {\r\n          figureCode = data.datamartCode;\r\n        }\r\n      });\r\n    }\r\n    // console.log('frequencyDataMartTableList',this.frequencyDataMartTableList);\r\n    this.selectedDatamart = figureCode;\r\n    this.hasFrequencyOption = this.frequencyDataMartTableList.some(\r\n      (item) => item.datamartCode === this.selectedDatamart\r\n    );\r\n    this.ref.detectChanges();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.subscriptions.forEach((sb) => sb.unsubscribe());\r\n  }\r\n\r\n  public nextWizard(wizard: number) {\r\n    if (!this.expandArray[wizard]) {\r\n      this.expandArray = [\r\n        false,\r\n        false,\r\n        false,\r\n        false,\r\n        false,\r\n        false,\r\n        false,\r\n        false,\r\n      ];\r\n      this.expandArray[wizard] = true;\r\n    } else {\r\n      this.expandArray[wizard] = false;\r\n    }\r\n  }\r\n\r\n  private getInfo() {\r\n    this.translation = getTranslation();\r\n    this.lang = this.pbf.getLanguageParams();\r\n    this.datePipeFormat = localStorage.getItem(\"datePipe\");\r\n    this.chartTypeList = [\r\n      {\r\n        text: this.translation[\"chart_Column\"] || \"Column\",\r\n        value: \"Column\",\r\n      },\r\n      { text: this.translation[\"chart_Bar\"] || \"Bar\", value: \"Bar\" },\r\n      { text: this.translation[\"chart_Line\"] || \"Line\", value: \"Line\" },\r\n      {\r\n        text: this.translation[\"chart_Spline\"] || \"Spline\",\r\n        value: \"Spline\",\r\n      },\r\n      { text: this.translation[\"chart_Area\"] || \"Area\", value: \"Area\" },\r\n      {\r\n        text: this.translation[\"chart_Scatter\"] || \"Scatter\",\r\n        value: \"Scatter\",\r\n      },\r\n      {\r\n        text: this.translation[\"chart_Polar\"] || \"Polar\",\r\n        value: \"Polar\",\r\n      },\r\n      { text: this.translation[\"chart_Pie\"] || \"Pie\", value: \"Pie\" },\r\n      {\r\n        text: this.translation[\"chart_Doughnut\"] || \"Doughnut\",\r\n        value: \"Doughnut\",\r\n      },\r\n      {\r\n        text: this.translation[\"chart_Stacked Column\"] || \"Stacked Column\",\r\n        value: \"Stacked Column\",\r\n      },\r\n      {\r\n        text: this.translation[\"chart_Radar\"] || \"Radar\",\r\n        value: \"Radar\",\r\n      },\r\n    ];\r\n    this.currentTab = this.tabactive ? \"tab1\" : \"tab2\";\r\n  }\r\n\r\n  public clear() {\r\n    this.dashboardService.clearSidebar.next(true);\r\n  }\r\n  public close() {\r\n    this.updatePushBtn.emit(false);\r\n    this.updatePorlet.emit(null);\r\n    this.closeSidebar.emit(false);\r\n  }\r\n\r\n  public getFigurecode() {\r\n    let codeArr = [\"Tasks\", \"FundList\", \"IRR\", \"Notes\"];\r\n    let i = codeArr.indexOf(this.figureCode);\r\n    return i > -1 ? false : true;\r\n  }\r\n\r\n  setGetPortletType() {\r\n    return ![\r\n      \"newcolumn\",\r\n      \"newline\",\r\n      \"newcolumnline\",\r\n      \"pivot\",\r\n      \"newchart\",\r\n    ].includes(this.portletType);\r\n  }\r\n\r\n  // 图表类型更改event\r\n  public getPortletType($event) {\r\n    this.portletType = $event;\r\n    this.hasChanged = this.config.portletType !== this.portletType;\r\n    this.config.portletType = this.portletType;\r\n    if (!$event) {\r\n      return;\r\n    }\r\n    if ([\"newcolumn\", \"newline\", \"newcolumnline\"].includes($event)) {\r\n      this.selectedX = null;\r\n      this.selectedY = [];\r\n      this.selectedSecondY = [];\r\n      this.selectedMultiples = null;\r\n      this.expandArray[2] = false;\r\n      this.expandArray[7] = true;\r\n      // 修复有时选择 xy 轴时没有数据的问题\r\n      if (this.portlet && this.portlet.figureCode) {\r\n        this.getData(this.portlet.figureCode, false, this.portletType);\r\n      }\r\n      return;\r\n    }\r\n    if (this.portletType === \"newchart\") {\r\n      if (\r\n        this.config.pvtableChartSetting &&\r\n        this.config.pvtableChartSetting.chartSettings\r\n      ) {\r\n        this.chartSettings = {\r\n          ...this.config.pvtableChartSetting.chartSettings,\r\n        };\r\n      } else {\r\n        this.chartSettings = {\r\n          tooltip: {\r\n            enable: true,\r\n            fill: \"#1F3F5C\",\r\n            opacity: 1,\r\n            textStyle: {\r\n              fontFamily: \"Arial\",\r\n              size: \"11px\",\r\n            },\r\n          },\r\n          legendSettings: {\r\n            visible: false,\r\n            enableHighlight: true,\r\n            textStyle: {\r\n              fontFamily: \"Arial\",\r\n              size: \"11px\",\r\n            },\r\n          },\r\n          enableMultipleAxis: false,\r\n          showMultiLevelLabels: false,\r\n          chartSeries: {\r\n            type: \"Column\",\r\n            width: 2,\r\n          },\r\n          multipleAxisMode: \"Stacked\",\r\n          primaryXAxis: {\r\n            title: \" \",\r\n            labelFormat: \"N2\",\r\n            majorGridLines: { width: 0 },\r\n            minorGridLines: {\r\n              width: 0,\r\n              color: \"transparent\",\r\n              visible: false,\r\n            },\r\n            minorTickLines: { visible: false },\r\n            lineStyle: { color: \"#EAEDF0\", width: 1 },\r\n            labelStyle: {\r\n              fontFamily: \"Arial\",\r\n              size: \"11px\",\r\n              color: \"#6C7C90\",\r\n              fontWeight: \"400\",\r\n            },\r\n            border: {\r\n              width: 0,\r\n            },\r\n            interval: 1,\r\n            labelRotation: 0,\r\n          },\r\n          chartArea: {\r\n            opacity: 0,\r\n            border: {\r\n              width: 0,\r\n            },\r\n          },\r\n          palettes: [\r\n            \"#594bb9\",\r\n            \"#f1af32\",\r\n            \"#4688ed\",\r\n            \"#e0563e\",\r\n            \"#803a63\",\r\n            \"#6dd8b5\",\r\n            \"#e87225\",\r\n            \"#c5df42\",\r\n            \"#c6437d\",\r\n          ],\r\n          primaryYAxis: {\r\n            // Y轴标题设置为空\r\n            title: \" \",\r\n            labelFormat: \"N2\",\r\n            lineStyle: { width: 0 },\r\n            majorTickLines: { width: 0 },\r\n            margin: {\r\n              right: 10,\r\n            },\r\n            majorGridLines: {\r\n              color: \"#EAEDF0\",\r\n              width: 1,\r\n            }, // 设置主要网格线颜色\r\n            labelStyle: {\r\n              fontFamily: \"Arial\",\r\n              size: \"11px\",\r\n              color: \"#6C7C90\",\r\n              fontWeight: \"400\",\r\n            },\r\n          },\r\n          zoomSettings: {\r\n            enableMouseWheelZooming: false, // 禁用鼠标滚轮缩放\r\n            enablePinchZooming: false, // 禁用触摸缩放\r\n            enableSelectionZooming: false, // 禁用选择区域缩放\r\n            enableDeferredZooming: false, // 禁用延迟缩放\r\n            toolbarItems: [],\r\n            enableScrollbar: false,\r\n            enableZooming: false,\r\n          },\r\n        };\r\n      }\r\n    }\r\n    if ($event === \"historicalIRR\") {\r\n      this.onSelectedHistoricalIRRPortlet();\r\n      this.expandArray[2] = false;\r\n      this.expandArray[7] = true;\r\n      return;\r\n    }\r\n    this.expandArray[2] = false;\r\n    this.expandArray[3] = true;\r\n    if (this.portletType) {\r\n      this.AddOrEditPortlet(true);\r\n    }\r\n  }\r\n  public changeDataTable(e) {\r\n    if (e.isInteracted) {\r\n      const value = e.value;\r\n      this.selectedDataTable = this.dataMartTableList.filter(\r\n        (el) => el.datamartCode === value\r\n      )[0].id;\r\n      this.selectedDatamart = value;\r\n      this.hasFrequencyOption = this.frequencyDataMartTableList.some(\r\n        (item) => item.datamartCode === this.selectedDatamart\r\n      );\r\n\r\n      if (this.portlet) {\r\n        this.portlet.figureCode = value;\r\n\r\n        this.portlet.dashboardDataTableId = this.getSelectDatamartId();\r\n      }\r\n      if (this.portlet) {\r\n        this.dashboardService.clearFieldList.next(this.portlet.newId);\r\n      }\r\n      if (this.portlet) {\r\n        this.dashboardPorletsService.clearFieldsObj(this.portlet);\r\n      }\r\n      this.getData(value);\r\n      this.expandArray[0] = false;\r\n      this.expandArray[2] = true;\r\n    }\r\n  }\r\n\r\n  _updatePorletConfig(e) {\r\n    this.updatePorletConfig.emit(e);\r\n  }\r\n\r\n  private getData(code, edit: boolean = true, portletType = \"\") {\r\n    const dataObj = {\r\n      dataMartCode: code,\r\n      language: this.lang,\r\n    };\r\n    this.dashboardPorletsService.setSchemaParams(dataObj, code, this.dashboard);\r\n    this.http.post(this.api.urlList.GetSchema, dataObj, (res) => {\r\n      if (res) {\r\n        if (\r\n          [\r\n            \"SeeThroughQuarterly\",\r\n            \"SeeThroughYearly\",\r\n            \"SeeThroughMonthly\",\r\n          ].includes(code)\r\n        ) {\r\n          res = res.filter(\r\n            (item) =>\r\n              ![\r\n                \"CI_MTD\",\r\n                \"CI_QTD\",\r\n                \"CI_YTD\",\r\n                \"CTWR_MTD\",\r\n                \"CTWR_QTD\",\r\n                \"CTWR_YTD\",\r\n                \"CVAR_MTD_95\",\r\n                \"CVAR_MTD_99\",\r\n                \"CVAR_QTD_95\",\r\n                \"CVAR_QTD_99\",\r\n                \"CVAR_YTD_95\",\r\n                \"CVAR_YTD_99\",\r\n              ].includes(item.colName)\r\n          );\r\n        }\r\n        if (!this.dashboardPorletsService.fieldsArr[this.dashboard.id]) {\r\n          this.dashboardPorletsService.fieldsArr[this.dashboard.id] = {};\r\n        }\r\n        this.dashboardPorletsService.fieldsArr[this.dashboard.id][\r\n          this.selectedDatamart\r\n        ] = res;\r\n        if (this.portlet) {\r\n          if (this.portlet.config) {\r\n            this.config = JSON.parse(this.portlet.config);\r\n          } else {\r\n            this.config = {};\r\n          }\r\n          if (portletType) {\r\n            this.config.portletType = portletType;\r\n          }\r\n          this.config.fields = res;\r\n          // TO DO 过滤Y轴的数据\r\n          this.yList = res.map((i) => ({\r\n            ...i,\r\n            text:\r\n              (this.translation[i.langCode]\r\n                ? this.translation[i.langCode]\r\n                : i.langCode) + (i.addtionName ? \" \" + i.addtionName : \"\"),\r\n            value: i.colName,\r\n          }));\r\n          this.portlet.config = this.config ? JSON.stringify(this.config) : \"\";\r\n\r\n          edit && this.AddOrEditPortlet();\r\n          this.ref.detectChanges();\r\n          this.ref.markForCheck();\r\n        } else {\r\n          this.config.fields = res;\r\n          setTimeout(() => {\r\n            const portlet = Object.assign({}, this.portlet);\r\n            portlet.config = this.config;\r\n            this.updatePorlet.emit(portlet);\r\n            // TO DO 过滤Y轴的数据\r\n            this.yList = res.map((i) => ({\r\n              ...i,\r\n              text:\r\n                (this.translation[i.langCode]\r\n                  ? this.translation[i.langCode]\r\n                  : i.langCode) + (i.addtionName ? \" \" + i.addtionName : \"\"),\r\n              value: i.colName,\r\n            }));\r\n            this.ref.detectChanges();\r\n            this.ref.markForCheck();\r\n          });\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  public setMultipleAxis(e, key) {\r\n    if (key === \"multipleAxisMode\") {\r\n      this.chartSettings.multipleAxisMode = e.value;\r\n    } else if (key === \"visible\") {\r\n      this.chartSettings.legendSettings.visible = e.checked;\r\n    } else if (key === \"enableMultipleAxis\") {\r\n      this.chartSettings.enableMultipleAxis = e.checked;\r\n    }\r\n\r\n    setTimeout(() => {\r\n      if (!this.chartSettings.enableMultipleAxis) {\r\n        this.chartSettings.legendSettings.visible = false;\r\n        this.ref.markForCheck();\r\n      }\r\n      this.dashboardService.enableMultipleAxisChange.next({\r\n        newId: this.portlet.newId,\r\n        enableMultipleAxis: this.chartSettings.enableMultipleAxis,\r\n        visible: this.chartSettings.legendSettings.visible,\r\n        multipleAxisMode: this.chartSettings.multipleAxisMode,\r\n      });\r\n    });\r\n  }\r\n\r\n  public setChartType(e) {\r\n    if (e && e.isInteracted) {\r\n      this.chartSettings.chartSeries.type = e.value;\r\n    }\r\n    const portlet = Object.assign({}, this.portlet);\r\n    if (portlet.config) {\r\n      const config = JSON.parse(portlet.config);\r\n      config.pvtableChartSetting = config.pvtableChartSetting\r\n        ? {\r\n            ...config.pvtableChartSetting,\r\n            chartSettings: this.chartSettings,\r\n          }\r\n        : { chartSettings: this.chartSettings };\r\n      portlet.config = JSON.stringify(config);\r\n    }\r\n    this.updatePorlet.emit(portlet);\r\n    setTimeout(() => {\r\n      this.dashboardService.chartTypeChange.next({\r\n        newId: this.portlet.newId,\r\n        chartSettings: this.chartSettings,\r\n      });\r\n    });\r\n  }\r\n\r\n  public getThemeData(e) {\r\n    const id = e.value;\r\n    const portlet = this.portlet;\r\n    const theme = this.themeData.find((item) => item.id === id);\r\n    if (!theme) {\r\n      return;\r\n    }\r\n    this.dashboardService.setTheme.next({\r\n      newId: portlet.newId,\r\n      theme: theme.value,\r\n    });\r\n  }\r\n\r\n  public AddOrEditPortlet(shouldSkip = false) {\r\n    const portletType =\r\n      this.config.portletType === \"historicalIRR\"\r\n        ? this.config.selectedVisualType\r\n        : this.config.portletType;\r\n    if (this.portlet && this.portlet.newId) {\r\n      // SMP2-17654 需要将选择的 frequency、investor、visual type 保存到 config 中用来拿取后端数据\r\n      // 但是如果直接保存 this.config 会出现 SMP2-18837 这个 BUG\r\n      const config = JSON.parse(this.portlet.config);\r\n      if (this.hasChanged) {\r\n        if (\r\n          [\"newcolumn\", \"newline\", \"newcolumnline\"].includes(portletType) &&\r\n          (this.selectedY.length > 0 || this.selectedSecondY.length > 0)\r\n        ) {\r\n          config[\"selectedX\"] = this.selectedX;\r\n          config[\"selectedY\"] = this.selectedY;\r\n          config[\"selectedSecondY\"] = this.selectedSecondY;\r\n          config[\"selectedMultiples\"] = this.selectedMultiples;\r\n          config[\"selectTheme\"] = this.selectTheme;\r\n        }\r\n\r\n        if (config.portletType === \"newchart\") {\r\n          config.pvtableChartSetting = {\r\n            chartSettings: this.chartSettings,\r\n            displayOption: this.displayOption,\r\n          };\r\n        }\r\n      }\r\n      config.selectedMultiples = this.config.selectedMultiples;\r\n      config.selectedInvestor = this.config.selectedInvestor;\r\n      config.selectedVisualType = this.config.selectedVisualType;\r\n      const portlet = Object.assign({}, this.portlet);\r\n      if (this.endDate) {\r\n        config.QTQendDate = moment(this.endDate).format(\"YYYY-MM-DD\");\r\n      } else {\r\n        config.QTQendDate = null;\r\n      }\r\n      portlet.config = JSON.stringify(config);\r\n      // 新增DataTable类型， 编辑Porlet\r\n      this.dashboardPorletsService.setDataManager(\r\n        [this.getTrueSelectedDatamart()],\r\n        (res) => {\r\n          this.pbf.pageLoading = false;\r\n          this.pbf.pageLoading_.next(true);\r\n          this.editPortlet();\r\n        },\r\n        [portletType],\r\n        this.dashboard.id,\r\n        portlet,\r\n        shouldSkip\r\n      );\r\n    } else {\r\n      this.config.fields.map((el) => {\r\n        el.visible = true;\r\n      });\r\n      if (\r\n        [\"newcolumn\", \"newline\", \"newcolumnline\"].includes(portletType) &&\r\n        (this.selectedY.length > 0 || this.selectedSecondY.length > 0)\r\n      ) {\r\n        this.config[\"selectedX\"] = this.selectedX;\r\n        this.config[\"selectedY\"] = this.selectedY;\r\n        this.config[\"selectedSecondY\"] = this.selectedSecondY;\r\n        this.config[\"selectedMultiples\"] = this.selectedMultiples;\r\n        this.config[\"selectTheme\"] = this.selectTheme;\r\n      }\r\n\r\n      if (this.config.portletType === \"newchart\") {\r\n        this.config.pvtableChartSetting = {\r\n          chartSettings: this.chartSettings,\r\n          displayOption: this.displayOption,\r\n        };\r\n      }\r\n\r\n      this.getSelectDatamartId();\r\n      const portletdata = {\r\n        id: \"00000000-0000-0000-0000-000000000000\",\r\n        newId: \"portlet_\" + this.pbf.Guid(),\r\n        dashboardDataTableId: this.getSelectDatamartId(),\r\n        figureCode: this.getTrueSelectedDatamart(),\r\n        col: 0,\r\n        row: 0,\r\n        sizeX: 2,\r\n        sizeY: 1,\r\n        posX: 0,\r\n        posY: 0,\r\n        height: 1,\r\n        width: 2,\r\n        config: JSON.stringify(this.config),\r\n      };\r\n      this.updatePorlet.emit(portletdata);\r\n      this.portlets.forEach((portlet) => {\r\n        portlet.row += 1;\r\n      });\r\n      // 新增DataTable类型， 新增Porlet\r\n      this.dashboardPorletsService.setDataManager(\r\n        [this.getTrueSelectedDatamart()],\r\n        (res) => {\r\n          setTimeout(() => {\r\n            this.dashboardService.addOrdelPortlet.next(this.dashboard.id);\r\n            this.pbf.pageLoading = false;\r\n            this.pbf.pageLoading_.next(true);\r\n          }, 200);\r\n        },\r\n        [portletType],\r\n        this.dashboard.id,\r\n        portletdata\r\n      );\r\n    }\r\n  }\r\n  private editPortlet() {\r\n    if (this.portlet) {\r\n      const portletType =\r\n        this.config.portletType === \"historicalIRR\"\r\n          ? this.config.selectedVisualType\r\n          : this.config.portletType;\r\n      if ([\"table\", \"transpose\", \"financialTable\"].includes(portletType)) {\r\n        this.config.filterSettings = [];\r\n        this.config.fields.map((el) => {\r\n          el.visible = true;\r\n        });\r\n      }\r\n      const index = this.portlets.findIndex(\r\n        (x) => x.newId === this.portlet.newId\r\n      );\r\n      if (index > -1) {\r\n        this.portlets[index].config = JSON.stringify(this.config);\r\n\r\n        if ([\"newcolumn\", \"newline\", \"newcolumnline\"].includes(portletType)) {\r\n          this.portlets[index].figureCode = this.getTrueSelectedDatamart();\r\n          this.portlets[index].dashboardDataTableId =\r\n            this.getSelectDatamartId();\r\n          this.portlet.dashboardDataTableId = this.getSelectDatamartId();\r\n          this.portlet.figureCode = this.getTrueSelectedDatamart();\r\n        }\r\n\r\n        const portlet = Object.assign({}, this.portlet);\r\n        if (this.endDate) {\r\n          this.config.QTQendDate = moment(this.endDate).format(\"YYYY-MM-DD\");\r\n        }\r\n        portlet.config = CircularJSON.stringify(this.config);\r\n        portlet.dashboardDataTableId = this.getSelectDatamartId();\r\n        this.updatePorlet.emit(portlet);\r\n      }\r\n      const id = this.portlet.id || this.portlet.newId;\r\n      this.chartUpdate.emit(id);\r\n    }\r\n  }\r\n\r\n  switchTab(type) {\r\n    this.currentTab = type;\r\n    this.onToggleTabactive.emit(type === \"tab1\");\r\n    this.dashboardService.portletEdit.next(this.dashboardId);\r\n  }\r\n\r\n  gadgetTitleChange(newObj) {\r\n    if (!this.portlet || !this.portlet.config) {\r\n      return;\r\n    }\r\n    this.config = JSON.parse(this.portlet.config);\r\n    this.config.gadgetTitle = newObj;\r\n    const index = this.portlets.findIndex(\r\n      (x) => x.newId === this.portlet.newId\r\n    );\r\n    if (index > -1) this.portlets[index].config = JSON.stringify(this.config);\r\n    this.portlet.config = JSON.stringify(this.config);\r\n\r\n    this.dashboardService.portletTitle.next({\r\n      id: this.portlet.newId,\r\n      config: this.portlet.config,\r\n    });\r\n    this.updatePorletConfig.emit({\r\n      newId: this.portlet.newId,\r\n      config: Object.assign({}, this.config),\r\n    });\r\n  }\r\n\r\n  setDatabind() {\r\n    if (this.portlet) {\r\n      const { dataMartTables = {} } = this.dashboardPorletsService;\r\n      let figureCode = this.portlet.figureCode;\r\n      dataMartTables[this.dashboard.id].forEach((item) => {\r\n        if (item.datamartCode === figureCode && item.prefix) {\r\n          figureCode = item.prefix;\r\n        }\r\n      });\r\n      if (\r\n        this.dataMartTableList &&\r\n        this.dataMartTableList.length &&\r\n        !this.dataMartTableList.find((item) => item.datamartCode === figureCode)\r\n      ) {\r\n        this.dataMartTableList.forEach((data) => {\r\n          if (data.prefix === figureCode) {\r\n            figureCode = data.datamartCode;\r\n          }\r\n        });\r\n      }\r\n\r\n      this.selectedDatamart = figureCode;\r\n      this.config = {};\r\n      if (this.portlet.config) this.config = JSON.parse(this.portlet.config);\r\n      this.hasMarker = this.config.hasMarker;\r\n      this.markerFormat = this.config.markerFormat || \"\";\r\n      if (this.config.QTQendDate) {\r\n        this.endDate = moment(this.config.QTQendDate).utcOffset(0).toDate();\r\n        this.ref.detectChanges();\r\n      } else {\r\n        this.endDate = null;\r\n      }\r\n\r\n      if (this.config.portletType === \"historicalIRR\") {\r\n        this.selectedMultiples = this.config.selectedMultiples;\r\n        this.selectedInvestor = this.config.selectedInvestor;\r\n        this.selectedVisualType = this.config.selectedVisualType;\r\n        this.portletType = this.config.portletType;\r\n      }\r\n      const portletType =\r\n        this.config.portletType === \"historicalIRR\"\r\n          ? this.config.selectedVisualType\r\n          : this.config.portletType;\r\n      if ([\"newcolumn\", \"newline\", \"newcolumnline\"].includes(portletType)) {\r\n        this.selectedX = this._selectedX;\r\n        this.selectedY = this._selectedY;\r\n        this.selectedSecondY = this._selectedSecondY;\r\n        this.selectedMultiples = this._selectedMultiples;\r\n        this.selectTheme = this._selectTheme;\r\n        this.portletType = this.config.portletType;\r\n        this.getData(this.portlet.figureCode, false);\r\n      }\r\n\r\n      if (this.config.portletType === \"newchart\") {\r\n        this.portletType = \"newchart\";\r\n        if (this.config.pvtableChartSetting) {\r\n          this.chartSettings = {\r\n            ...this.config.pvtableChartSetting.chartSettings,\r\n          };\r\n          if (this.config.pvtableChartSetting.chartSettings.palettes) {\r\n            const { palettes } = this.config.pvtableChartSetting.chartSettings;\r\n            if (palettes && palettes.length) {\r\n              this.selectTheme = this.themeData.find(\r\n                (item) =>\r\n                  // 用于判断两个\r\n                  JSON.stringify(item.value) === JSON.stringify(palettes)\r\n              ).id;\r\n            }\r\n          }\r\n        } else {\r\n          this.config.pvtableChartSetting = {\r\n            displayOption: this.displayOption,\r\n            chartSettings: this.chartSettings,\r\n          };\r\n        }\r\n      }\r\n    } else {\r\n      this.selectedDatamart = \"\";\r\n      this.config = this.getConfig([]);\r\n    }\r\n    this.ref.markForCheck();\r\n    this.ref.detectChanges();\r\n  }\r\n  private getConfig(fields) {\r\n    return {\r\n      tabId: this.activeTabId,\r\n      tabLabel: this.activeTabLabel,\r\n      portletType: \"\",\r\n      gadgetTitle: \"\",\r\n      isUpToDate: false,\r\n      period: 3,\r\n      pagebreak: false,\r\n      timeMeasure: \"MTD\",\r\n      series: [],\r\n      sSeries: [],\r\n      trendsOrder: 1,\r\n      showTrends: true,\r\n      numberFormat: \"#,##0\",\r\n      showCurrentData: false,\r\n      fields: fields,\r\n      allFields: [\r\n        {\r\n          colName: \"ALL_TEXT_FIELDS\",\r\n          langValue: \"All text fields\",\r\n          dataType: \"string\",\r\n        },\r\n        {\r\n          colName: \"ALL_DATE_FIELDS\",\r\n          langValue: \"All date fields\",\r\n          dataType: \"date\",\r\n        },\r\n        {\r\n          colName: \"ALL_NUMBER_FIELDS\",\r\n          langValue: \"All number fields\",\r\n          dataType: \"number\",\r\n        },\r\n        {\r\n          colName: \"ALL_INTEGER_FIELDS\",\r\n          langValue: \"All integer fields\",\r\n          dataType: \"integer\",\r\n        },\r\n        {\r\n          colName: \"ALL_PERCENTAGE_FIELDS\",\r\n          langValue: \"All percentage fields\",\r\n          dataType: \"percent\",\r\n        },\r\n        {\r\n          colName: \"ALL_MULTIPLE_FIELDS\",\r\n          langValue: \"All multiple fields\",\r\n          dataType: \"multiple\",\r\n        },\r\n      ],\r\n      filters: [],\r\n      filterSettings: [],\r\n      columnGroup: [],\r\n      listOfInvesteeId: [],\r\n      investeeId: \"00000000-0000-0000-0000-000000000000\",\r\n      groupBy: \"\",\r\n      groups: [],\r\n      asOfDate: \"\",\r\n      currencyCode: \"\",\r\n      fundId: \"00000000-0000-0000-0000-000000000000\",\r\n      xaxis: { groups: [] },\r\n      yaxis: {\r\n        series: [{ portletType: \"\", colName: \"\", calMethod: \"\" }],\r\n      },\r\n      calculatedFieldSettings: [],\r\n      columnsWidth: [],\r\n      sortSettings: [],\r\n      groupSettings: [],\r\n      valueSortSettings: {},\r\n      showGrandTotals: true,\r\n      showRowGrandTotals: true,\r\n      showColumnGrandTotals: true,\r\n      showSubTotals: true,\r\n      showRowSubTotals: true,\r\n      showColumnSubTotals: true,\r\n    };\r\n  }\r\n\r\n  public selectedInvestor = null;\r\n  public investorList = [];\r\n  public selectedVisualType = null;\r\n  public visualTypeList = [];\r\n\r\n  initHistoricalIRROptions() {\r\n    const chartText = this.translation.COMPANY_CHART || \".COMPANY_CHART\";\r\n    this.investorList = [\r\n      {\r\n        code: \"All\",\r\n        text: this.translation.ALL,\r\n      },\r\n      {\r\n        code: \"ExcludeGP&SLP\",\r\n        text: this.translation[\"EXCLUDE_GP&SLP\"] || \".Exclude GP&SLP\",\r\n      },\r\n    ];\r\n    this.visualTypeList = [\r\n      {\r\n        code: \"newline\",\r\n        text: `${this.translation.LINE || \".LINE\"} ${chartText}`,\r\n      },\r\n      {\r\n        code: \"newcolumn\",\r\n        text: `${this.translation.COLUMN} ${chartText}`,\r\n      },\r\n      {\r\n        code: \"table\",\r\n        text: this.translation.TABLE || \".TABLE\",\r\n      },\r\n    ];\r\n  }\r\n\r\n  onSelectedHistoricalIRRPortlet() {\r\n    this.selectedInvestor = \"All\";\r\n    this.selectedMultiples = \"QUARTERLY\";\r\n    this.selectedVisualType = \"newline\";\r\n    this.setHistoricalIRRChart();\r\n  }\r\n\r\n  changeSelectedMultiples(e, key) {\r\n    if (e && e.isInteracted) {\r\n      this[key] = e.value;\r\n      this.setHistoricalIRRChart();\r\n    }\r\n  }\r\n\r\n  setHistoricalIRRChart() {\r\n    if (\r\n      this.selectedVisualType !== \"table\" &&\r\n      this.config.selectedVisualType === \"table\"\r\n    ) {\r\n      this.hasMarker = false;\r\n    }\r\n\r\n    this.config.selectedVisualType = this.selectedVisualType;\r\n    this.config.selectedInvestor = this.selectedInvestor;\r\n    if (this.selectedVisualType !== \"table\") {\r\n      // 这里确定 x、y 轴字段名称\r\n      this.selectedX = \"Date\";\r\n      this.selectedY = [\"IRR\"];\r\n      return this.setXyChange();\r\n    } else {\r\n      this.config.selectedMultiples = this.selectedMultiples;\r\n      this.AddOrEditPortlet();\r\n    }\r\n  }\r\n\r\n  selectedX: any = null;\r\n  selectedY: any = [];\r\n  selectedSecondY: any = [];\r\n  selectedMultiples: any = null;\r\n  markerFormat = \"\";\r\n  markerFormatList = [];\r\n  hasMarker = false;\r\n\r\n  labelConfigChange(e) {\r\n    this.config.hasMarker = e;\r\n    this.updatePorletConfig.emit({\r\n      newId: this.portlet.newId,\r\n      config: Object.assign({}, this.config),\r\n    });\r\n    this.dashboardService.switchLabelConfig.next({\r\n      checked: e,\r\n      id: this.portlet.newId,\r\n    });\r\n  }\r\n\r\n  xyChange(e, key) {\r\n    if (e && e.isInteracted) {\r\n      this[key] = e.value;\r\n      this.setXyChange();\r\n    }\r\n  }\r\n\r\n  setXyChange() {\r\n    setTimeout(() => {\r\n      this.updateTheme.emit({\r\n        selectedX: this.selectedX,\r\n        selectedY: this.selectedY,\r\n        selectedMultiples: this.selectedMultiples,\r\n        selectedSecondY: this.selectedSecondY,\r\n        selectTheme: this.selectTheme,\r\n        hasMarker: this.hasMarker,\r\n        markerFormat: this.markerFormat,\r\n      });\r\n\r\n      this.config[\"markerFormat\"] = this.markerFormat;\r\n      this.config[\"hasMarker\"] = this.hasMarker;\r\n      this.config[\"selectedX\"] = this.selectedX;\r\n      this.config[\"selectedY\"] = this.selectedY;\r\n      this.config[\"selectedSecondY\"] = this.selectedSecondY;\r\n      this.config[\"selectedMultiples\"] = this.selectedMultiples;\r\n      this.config[\"selectTheme\"] = this.selectTheme;\r\n\r\n      this.updatePorletConfig.emit({\r\n        newId: this.portlet.newId,\r\n        config: Object.assign({}, this.config),\r\n      });\r\n\r\n      this.showEdit();\r\n    }, 500);\r\n  }\r\n\r\n  showEdit() {\r\n    if (\r\n      this.portletType == \"newcolumnline\" &&\r\n      this.selectedY.length > 0 &&\r\n      this.selectedSecondY.length > 0\r\n    ) {\r\n      this.AddOrEditPortlet();\r\n    }\r\n    if (this.portletType != \"newcolumnline\" && this.selectedY.length > 0) {\r\n      this.AddOrEditPortlet();\r\n    }\r\n  }\r\n\r\n  multiplesList: any = [];\r\n  frequencyOptions: any = [];\r\n  getmultiplesList() {\r\n    this.http.post(\r\n      this.api.urlList.GetPropertyList,\r\n      { scope: \"DASHBOARD_FREQUENCY\", langIdx: 2 },\r\n      (res) => {\r\n        this.multiplesList = res.map((i) => ({\r\n          ...i,\r\n          text: i.addtionName\r\n            ? i.addtionName + \"\" + (this.translation[i.langCode] || i.langCode)\r\n            : this.translation[i.langCode] || i.langCode,\r\n          value: i.langCode,\r\n        }));\r\n        this.frequencyOptions = this.multiplesList.filter(\r\n          (i) => i.langCode !== \"DAILY\"\r\n        );\r\n        this.ref.detectChanges();\r\n        this.ref.markForCheck();\r\n      }\r\n    );\r\n  }\r\n\r\n  capitalize(str) {\r\n    // 将字符串转换为小写，并使用正则表达式将每个单词的第一个字符转换为大写\r\n    if (!str) {\r\n      return;\r\n    }\r\n    return str.toLowerCase().replace(/\\b\\w/g, function (char) {\r\n      return char.toUpperCase();\r\n    });\r\n  }\r\n\r\n  getSelectDatamartId() {\r\n    // 获取真正的DatamartID\r\n    const code = this.getTrueSelectedDatamart();\r\n    let dataMartTables = this.dashboardPorletsService.dataMartTables[\r\n      this.dashboard.id\r\n    ].filter((el) => code == el.datamartCode);\r\n    if (dataMartTables.length > 0) {\r\n      return dataMartTables[0].id;\r\n    }\r\n  }\r\n\r\n  getTrueSelectedDatamart() {\r\n    const portletType =\r\n      this.config.portletType === \"historicalIRR\"\r\n        ? this.config.selectedVisualType\r\n        : this.config.portletType;\r\n    // 获取真正的DatamartCode\r\n    if ([\"newcolumn\", \"newline\", \"newcolumnline\"].includes(portletType)) {\r\n      return this.getSelectDatamartCode();\r\n    } else {\r\n      return this.selectedDatamart;\r\n    }\r\n  }\r\n\r\n  getSelectDatamartCode() {\r\n    const item = this.dashboardPorletsService.dataMartTables[\r\n      this.dashboard.id\r\n    ].filter((e) => {\r\n      return e[\"datamartCode\"] == this.selectedDatamart;\r\n    });\r\n    if (item.length > 0) {\r\n      if (item[0][\"prefix\"]) {\r\n        return `${item[0][\"prefix\"]}${\r\n          this.capitalize(this.selectedMultiples) || \"\"\r\n        }`;\r\n      } else {\r\n        return item[0][\"datamartCode\"];\r\n      }\r\n    } else {\r\n      return \"\";\r\n    }\r\n  }\r\n\r\n  selectTheme: any = \"theme1\";\r\n  changeTheme(e) {\r\n    this.selectTheme = e.value;\r\n    this.config[\"selectTheme\"] = this.selectTheme;\r\n    this.updateTheme.emit({\r\n      selectedX: this.selectedX,\r\n      selectedY: this.selectedY,\r\n      selectedMultiples: this.selectedMultiples,\r\n      selectedSecondY: this.selectedSecondY,\r\n      selectTheme: this.selectTheme,\r\n    });\r\n    this.showEdit();\r\n  }\r\n\r\n  sortDataMartTables(data) {\r\n    data.sort((a, b) => {\r\n      const langValueA = a.langValue.toLowerCase();\r\n      const langValueB = b.langValue.toLowerCase();\r\n\r\n      if (langValueA < langValueB) {\r\n        return -1;\r\n      }\r\n      if (langValueA > langValueB) {\r\n        return 1;\r\n      }\r\n      return 0;\r\n    });\r\n  }\r\n\r\n  onChangeFormat(e) {\r\n    if (e && e.isInteracted) {\r\n      this.markerFormat = e.value;\r\n      this.dashboardService.markerFormat.next({\r\n        newId: this.portlet.newId,\r\n        markerFormat: this.markerFormat,\r\n      });\r\n    }\r\n  }\r\n\r\n  onEndDateChange(e) {\r\n    if (e.value) {\r\n      this.endDate = moment(e.value).format(\"yyyy-MM-DD\");\r\n      this.config.QTQendDate = this.endDate;\r\n    } else {\r\n      this.config.QTQendDate = null;\r\n      this.endDate = null;\r\n    }\r\n    this.ref.detectChanges();\r\n    this.AddOrEditPortlet(true);\r\n  }\r\n\r\n  toggleSection(e) {\r\n    e.target.parentElement.classList.toggle(\"shrink\");\r\n  }\r\n}\r\n","<div class=\"kt-portlet\" *ngIf=\"config\">\r\n  <div class=\"top-bar\">\r\n    <div class=\"tab-wrap\">\r\n      <!-- [ngClass]=\"{ 'center-flex': !setGetPortletType() }\" -->\r\n      <!-- *ngIf=\"setGetPortletType()\" -->\r\n      <div\r\n        class=\"nav-item\"\r\n        (click)=\"switchTab('tab1')\"\r\n        [ngClass]=\"{ active: currentTab === 'tab1' }\"\r\n      >\r\n        {{ translation.FILTER ? translation.FILTER : \".FILTER\" }}\r\n      </div>\r\n      <div\r\n        class=\"nav-item\"\r\n        (click)=\"switchTab('tab2')\"\r\n        [ngClass]=\"{ active: currentTab === 'tab2' }\"\r\n      >\r\n        {{ translation.PROPERTIES ? translation.PROPERTIES : \".PROPERTIES\" }}\r\n      </div>\r\n    </div>\r\n    <div class=\"close-wrap\" (click)=\"close()\">\r\n      <img src=\"../../../../assets/img/dashboard_icon/close.svg\" alt=\"\" />\r\n    </div>\r\n  </div>\r\n  <div class=\"kt-portlet__body\" style=\"background-color: #ffffff; height: 100%\">\r\n    <!-- <form action=\"\" method=\"\"> -->\r\n    <div class=\"tab-content\">\r\n      <div\r\n        class=\"tab-pane\"\r\n        [ngClass]=\"{\r\n          active: currentTab === 'tab1'\r\n        }\"\r\n        id=\"kt_user_edit_tab_1\"\r\n        role=\"tabpanel\"\r\n        style=\"height: 100%\"\r\n      >\r\n        <kt-field-filter\r\n          [portlet]=\"portlet\"\r\n          [dashboard]=\"dashboard\"\r\n          [portlets]=\"portlets\"\r\n          *ngIf=\"currentTab === 'tab1'\"\r\n          (updatePorletConfig)=\"_updatePorletConfig($event)\"\r\n        ></kt-field-filter>\r\n      </div>\r\n      <div\r\n        class=\"tab-pane\"\r\n        [ngClass]=\"{ active: currentTab === 'tab2' }\"\r\n        id=\"kt_user_edit_tab_2\"\r\n        role=\"tabpanel\"\r\n      >\r\n        <div class=\"property-wrap\">\r\n          <div class=\"property-item\">\r\n            <div class=\"property-item-title\" (click)=\"toggleSection($event)\">\r\n              {{ translation.DATA_TABLE || \".DATA_TABLE\" }}\r\n            </div>\r\n            <div class=\"property-item-config\">\r\n              <ejs-dropdownlist\r\n                [dataSource]=\"dataMartTableList\"\r\n                [(ngModel)]=\"selectedDatamart\"\r\n                [allowFiltering]=\"true\"\r\n                [filterType]=\"'Contains'\"\r\n                (change)=\"changeDataTable($event)\"\r\n                [fields]=\"{\r\n                  text: 'text',\r\n                  value: 'value'\r\n                }\"\r\n              ></ejs-dropdownlist>\r\n            </div>\r\n          </div>\r\n          <div class=\"property-item\">\r\n            <div class=\"property-item-title\" (click)=\"toggleSection($event)\">\r\n              {{ translation.PORTLET_TYPE || \".PORTLET_TYPE\" }}\r\n            </div>\r\n            <div class=\"property-item-config\">\r\n              <kt-portlet-type-new\r\n                [portlet]=\"portlet\"\r\n                [dashboard]=\"dashboard\"\r\n                [dataMartCode]=\"selectedDatamart\"\r\n                (portletType)=\"getPortletType($event)\"\r\n              >\r\n              </kt-portlet-type-new>\r\n            </div>\r\n          </div>\r\n          <div\r\n            class=\"property-item\"\r\n            *ngIf=\"\r\n              [\r\n                'newcolumn',\r\n                'newline',\r\n                'newcolumnline',\r\n                'historicalIRR'\r\n              ].includes(portletType)\r\n            \"\r\n          >\r\n            <div\r\n              class=\"property-item-title no-margin\"\r\n              (click)=\"toggleSection($event)\"\r\n            >\r\n              {{ translation.CONFIGURATIONS || \".CONFIGURATIONS\" }}\r\n            </div>\r\n            <div class=\"property-item-config\">\r\n              <ng-container\r\n                *ngIf=\"\r\n                  ['newcolumn', 'newline', 'newcolumnline'].includes(\r\n                    portletType\r\n                  )\r\n                \"\r\n              >\r\n                <div class=\"condition-item\">\r\n                  <div class=\"condition-item-title\">\r\n                    {{ translation.COLORS || \".COLORS\" }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-dropdownlist\r\n                      id=\"employees\"\r\n                      [dataSource]=\"themeData\"\r\n                      [allowFiltering]=\"true\"\r\n                      [filterType]=\"'Contains'\"\r\n                      [itemTemplate]=\"itemTemplate\"\r\n                      [valueTemplate]=\"valueTemplate\"\r\n                      [fields]=\"themeFields\"\r\n                      [value]=\"selectTheme\"\r\n                      (change)=\"changeTheme($event)\"\r\n                      cssClass=\"color-dropdown\"\r\n                    >\r\n                      <ng-template #itemTemplate let-data>\r\n                        <div class=\"color-box\">\r\n                          <div\r\n                            *ngFor=\"let i of data.value\"\r\n                            class=\"color-item\"\r\n                            [ngStyle]=\"{\r\n                              'background-color': i\r\n                            }\"\r\n                          ></div>\r\n                        </div>\r\n                      </ng-template>\r\n                      <ng-template #valueTemplate let-data>\r\n                        <div class=\"color-box\">\r\n                          <div\r\n                            *ngFor=\"let item of data.value\"\r\n                            class=\"color-item\"\r\n                            [ngStyle]=\"{\r\n                              'background-color': item\r\n                            }\"\r\n                          ></div>\r\n                        </div>\r\n                      </ng-template>\r\n                    </ejs-dropdownlist>\r\n                  </div>\r\n                </div>\r\n                <div class=\"condition-item\">\r\n                  <div class=\"condition-item-title\">\r\n                    {{ translation.X_AXIS || \".X_AXIS\" }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-dropdownlist\r\n                      [dataSource]=\"yList\"\r\n                      [value]=\"selectedX\"\r\n                      [allowFiltering]=\"true\"\r\n                      [filterType]=\"'Contains'\"\r\n                      [fields]=\"{\r\n                        text: 'text',\r\n                        value: 'value'\r\n                      }\"\r\n                      (change)=\"xyChange($event, 'selectedX')\"\r\n                    ></ejs-dropdownlist>\r\n                  </div>\r\n                </div>\r\n                <div\r\n                  class=\"condition-item\"\r\n                  *ngIf=\"selectedX && hasFrequencyOption\"\r\n                >\r\n                  <div class=\"condition-item-title\">\r\n                    {{ translation.FREQUENCY || \".FREQUENCY\" }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-dropdownlist\r\n                      [dataSource]=\"multiplesList\"\r\n                      [value]=\"selectedMultiples\"\r\n                      [allowFiltering]=\"true\"\r\n                      [filterType]=\"'Contains'\"\r\n                      [fields]=\"{\r\n                        text: 'text',\r\n                        value: 'value'\r\n                      }\"\r\n                      (change)=\"xyChange($event, 'selectedMultiples')\"\r\n                    ></ejs-dropdownlist>\r\n                  </div>\r\n                </div>\r\n                <div class=\"condition-item\">\r\n                  <div class=\"condition-item-title\">\r\n                    {{\r\n                      portletType === \"newcolumnline\"\r\n                        ? (translation.COLUMN ? translation.COLUMN + \" \" : \"\") +\r\n                          (translation.Y_AXIS || \".COLUMN Y-AXIS\")\r\n                        : translation.Y_AXIS || \".Y-AXIS\"\r\n                    }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-multiselect\r\n                      [dataSource]=\"yList\"\r\n                      [value]=\"selectedY\"\r\n                      [showDropDownIcon]=\"true\"\r\n                      [filterType]=\"'Contains'\"\r\n                      [fields]=\"{\r\n                        text: 'text',\r\n                        value: 'value'\r\n                      }\"\r\n                      mode=\"CheckBox\"\r\n                      (change)=\"xyChange($event, 'selectedY')\"\r\n                    >\r\n                    </ejs-multiselect>\r\n                  </div>\r\n                </div>\r\n                <div\r\n                  class=\"condition-item\"\r\n                  *ngIf=\"portletType == 'newcolumnline'\"\r\n                >\r\n                  <div class=\"condition-item-title\">\r\n                    {{\r\n                      (translation.LINE ? translation.LINE + \" \" : \"\") +\r\n                        (translation.Y_AXIS || \".LINE Y-AXIS\")\r\n                    }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-multiselect\r\n                      [dataSource]=\"yList\"\r\n                      [value]=\"selectedSecondY\"\r\n                      [showDropDownIcon]=\"true\"\r\n                      [filterType]=\"'Contains'\"\r\n                      [fields]=\"{\r\n                        text: 'text',\r\n                        value: 'value'\r\n                      }\"\r\n                      mode=\"CheckBox\"\r\n                      (change)=\"xyChange($event, 'selectedSecondY')\"\r\n                    >\r\n                    </ejs-multiselect>\r\n                  </div>\r\n                </div>\r\n                <div class=\"condition-item flex\">\r\n                  <div class=\"condition-item-title\">\r\n                    {{ translation.DATA_LABEL || \".Data labels\" }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-switch\r\n                      [(ngModel)]=\"hasMarker\"\r\n                      (ngModelChange)=\"labelConfigChange($event)\"\r\n                    ></ejs-switch>\r\n                  </div>\r\n                </div>\r\n                <div class=\"condition-item\">\r\n                  <div class=\"condition-item-title\">\r\n                    {{ translation.DISPLAY_UNITS || \".Display Units\" }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-dropdownlist\r\n                      [dataSource]=\"markerFormatList\"\r\n                      [value]=\"markerFormat\"\r\n                      [allowFiltering]=\"true\"\r\n                      [filterType]=\"'Contains'\"\r\n                      (change)=\"onChangeFormat($event)\"\r\n                      [fields]=\"{\r\n                        text: 'label',\r\n                        value: 'value'\r\n                      }\"\r\n                    ></ejs-dropdownlist>\r\n                  </div>\r\n                </div>\r\n              </ng-container>\r\n              <ng-container *ngIf=\"['historicalIRR'].includes(portletType)\">\r\n                <div class=\"condition-item\">\r\n                  <div class=\"condition-item-title\">\r\n                    {{ translation.COLORS || \".COLORS\" }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-dropdownlist\r\n                      [dataSource]=\"themeData\"\r\n                      [allowFiltering]=\"true\"\r\n                      [filterType]=\"'Contains'\"\r\n                      [itemTemplate]=\"itemTemplate\"\r\n                      [valueTemplate]=\"valueTemplate\"\r\n                      [fields]=\"themeFields\"\r\n                      [value]=\"selectTheme\"\r\n                      (change)=\"changeTheme($event)\"\r\n                      class=\"color-ipt\"\r\n                      cssClass=\"color-dropdown\"\r\n                    >\r\n                      <ng-template #itemTemplate let-data>\r\n                        <div class=\"color-box\">\r\n                          <div\r\n                            *ngFor=\"let i of data.value\"\r\n                            class=\"color-item\"\r\n                            [ngStyle]=\"{\r\n                              'background-color': i\r\n                            }\"\r\n                          ></div>\r\n                        </div>\r\n                      </ng-template>\r\n                      <ng-template #valueTemplate let-data>\r\n                        <div class=\"color-box\">\r\n                          <div\r\n                            *ngFor=\"let item of data.value\"\r\n                            class=\"color-item\"\r\n                            [ngStyle]=\"{\r\n                              'background-color': item\r\n                            }\"\r\n                          ></div>\r\n                        </div>\r\n                      </ng-template>\r\n                    </ejs-dropdownlist>\r\n                  </div>\r\n                </div>\r\n                <div class=\"condition-item\">\r\n                  <div class=\"condition-item-title\">\r\n                    {{ translation.FREQUENCY || \".FREQUENCY\" }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-dropdownlist\r\n                      [dataSource]=\"frequencyOptions\"\r\n                      [value]=\"selectedMultiples\"\r\n                      [allowFiltering]=\"true\"\r\n                      [filterType]=\"'Contains'\"\r\n                      [fields]=\"{\r\n                        text: 'text',\r\n                        value: 'value'\r\n                      }\"\r\n                      (change)=\"\r\n                        changeSelectedMultiples($event, 'selectedMultiples')\r\n                      \"\r\n                    ></ejs-dropdownlist>\r\n                  </div>\r\n                </div>\r\n                <div\r\n                  class=\"condition-item\"\r\n                  *ngIf=\"\r\n                    ['FundHistoricalCashflowIRR'].includes(selectedDatamart)\r\n                  \"\r\n                >\r\n                  <div class=\"condition-item-title\">\r\n                    {{ translation.INVESTORS || \".Investors\" }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-dropdownlist\r\n                      [dataSource]=\"investorList\"\r\n                      [value]=\"selectedInvestor\"\r\n                      [allowFiltering]=\"true\"\r\n                      [filterType]=\"'Contains'\"\r\n                      [fields]=\"{\r\n                        text: 'text',\r\n                        value: 'code'\r\n                      }\"\r\n                      (change)=\"\r\n                        changeSelectedMultiples($event, 'selectedInvestor')\r\n                      \"\r\n                    ></ejs-dropdownlist>\r\n                  </div>\r\n                </div>\r\n                <div class=\"condition-item\">\r\n                  <div class=\"condition-item-title\">\r\n                    {{ translation.VISUAL_TYPE || \".VISUAL_TYPE\" }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-dropdownlist\r\n                      [dataSource]=\"visualTypeList\"\r\n                      [value]=\"selectedVisualType\"\r\n                      [allowFiltering]=\"true\"\r\n                      [filterType]=\"'Contains'\"\r\n                      [fields]=\"{\r\n                        text: 'text',\r\n                        value: 'code'\r\n                      }\"\r\n                      (change)=\"\r\n                        changeSelectedMultiples($event, 'selectedVisualType')\r\n                      \"\r\n                    ></ejs-dropdownlist>\r\n                  </div>\r\n                </div>\r\n                <div\r\n                  class=\"condition-item flex\"\r\n                  *ngIf=\"selectedVisualType !== 'table'\"\r\n                >\r\n                  <div class=\"condition-item-title\">\r\n                    {{ translation.DATA_LABEL || \".DATA_LABEL\" }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-switch\r\n                      [checked]=\"true\"\r\n                      [(ngModel)]=\"hasMarker\"\r\n                      (ngModelChange)=\"labelConfigChange($event)\"\r\n                    ></ejs-switch>\r\n                  </div>\r\n                </div>\r\n              </ng-container>\r\n            </div>\r\n          </div>\r\n          <div class=\"property-item\">\r\n            <div\r\n              class=\"property-item-title no-margin\"\r\n              (click)=\"toggleSection($event)\"\r\n            >\r\n              {{ translation.GENERAL_OPTIONS || \".GENERAL_OPTIONS\" }}\r\n            </div>\r\n            <div class=\"property-item-config\">\r\n              <ng-container *ngIf=\"portletType === 'newchart'\">\r\n                <div class=\"condition-item\">\r\n                  <div class=\"condition-item-title\">\r\n                    {{ translation.CHARTTYPE || \".CHARTTYPE\" }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-dropdownlist\r\n                      [dataSource]=\"chartTypeList\"\r\n                      [value]=\"chartSettings.chartSeries.type\"\r\n                      [allowFiltering]=\"true\"\r\n                      [filterType]=\"'Contains'\"\r\n                      [placeholder]=\"\r\n                        translation.SELECT_A_TYPE || 'Select a type'\r\n                      \"\r\n                      [fields]=\"{\r\n                        text: 'text',\r\n                        value: 'value'\r\n                      }\"\r\n                      (change)=\"setChartType($event)\"\r\n                    ></ejs-dropdownlist>\r\n                  </div>\r\n                </div>\r\n                <div class=\"condition-item flex\">\r\n                  <ejs-checkbox\r\n                    [label]=\"translation.MULTIPLE_AXIS || '.MULTIPLE_AXIS'\"\r\n                    [(ngModel)]=\"chartSettings.enableMultipleAxis\"\r\n                    (change)=\"setMultipleAxis($event, 'enableMultipleAxis')\"\r\n                  ></ejs-checkbox>\r\n                  <ejs-checkbox\r\n                    [disabled]=\"!chartSettings.enableMultipleAxis\"\r\n                    [label]=\"translation.SHOW_LEGEND || '.SHOW_LEGEND'\"\r\n                    (change)=\"setMultipleAxis($event, 'visible')\"\r\n                    [(ngModel)]=\"chartSettings.legendSettings.visible\"\r\n                  ></ejs-checkbox>\r\n                </div>\r\n                <div class=\"condition-item\">\r\n                  <div class=\"condition-item-title\">\r\n                    {{\r\n                      translation.MULTIPLE_AXIS_MODE || \".MULTIPLE_AXIS_MODE\"\r\n                    }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-dropdownlist\r\n                      [placeholder]=\"\r\n                        translation.SELECT_A_MODE || '.SELECT_A_MODE'\r\n                      \"\r\n                      [enabled]=\"chartSettings.enableMultipleAxis\"\r\n                      [dataSource]=\"multipleAxisModeList\"\r\n                      [value]=\"chartSettings.multipleAxisMode\"\r\n                      [allowFiltering]=\"true\"\r\n                      [filterType]=\"'Contains'\"\r\n                      [fields]=\"{\r\n                        text: 'text',\r\n                        value: 'value'\r\n                      }\"\r\n                      (change)=\"setMultipleAxis($event, 'multipleAxisMode')\"\r\n                    ></ejs-dropdownlist>\r\n                  </div>\r\n                </div>\r\n                <div class=\"condition-item\">\r\n                  <div class=\"condition-item-title\">\r\n                    {{ translation.COLORS || \".COLORS\" }}\r\n                  </div>\r\n                  <div class=\"condition-item-config\">\r\n                    <ejs-dropdownlist\r\n                      [dataSource]=\"themeData\"\r\n                      [allowFiltering]=\"false\"\r\n                      [itemTemplate]=\"itemTemplate\"\r\n                      [valueTemplate]=\"valueTemplate\"\r\n                      [fields]=\"themeFields\"\r\n                      [value]=\"selectTheme\"\r\n                      (change)=\"getThemeData($event)\"\r\n                      cssClass=\"color-dropdown\"\r\n                    >\r\n                      <ng-template #itemTemplate let-data>\r\n                        <div class=\"color-box\">\r\n                          <div\r\n                            *ngFor=\"let i of data.value\"\r\n                            class=\"color-item\"\r\n                            [ngStyle]=\"{\r\n                              'background-color': i\r\n                            }\"\r\n                          ></div>\r\n                        </div>\r\n                      </ng-template>\r\n                      <ng-template #valueTemplate let-data>\r\n                        <div class=\"color-box\">\r\n                          <div\r\n                            *ngFor=\"let item of data.value\"\r\n                            class=\"color-item\"\r\n                            [ngStyle]=\"{\r\n                              'background-color': item\r\n                            }\"\r\n                          ></div>\r\n                        </div>\r\n                      </ng-template>\r\n                    </ejs-dropdownlist>\r\n                  </div>\r\n                </div>\r\n              </ng-container>\r\n              <div class=\"condition-item\">\r\n                <div class=\"condition-item-title\">\r\n                  {{ translation.GADGET_TITLE || \".GADGET_TITLE\" }}\r\n                </div>\r\n                <div class=\"condition-item-config\">\r\n                  <input\r\n                    class=\"e-input\"\r\n                    type=\"text\"\r\n                    #message\r\n                    maxlength=\"256\"\r\n                    (ngModelChange)=\"gadgetTitleChange($event)\"\r\n                    [(ngModel)]=\"config.gadgetTitle\"\r\n                    autocomplete=\"off\"\r\n                  />\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n          <div\r\n            class=\"dialog-content date-select-content\"\r\n            style=\"padding-top: 0\"\r\n            *ngIf=\"\r\n              ['SeeThroughPositionComparison'].includes(this.selectedDatamart)\r\n            \"\r\n          >\r\n            <div class=\"condition-item\">\r\n              <div class=\"title\" style=\"margin-bottom: 12px\">\r\n                {{ translation.END_DATE || \".END_DATE\" }}\r\n              </div>\r\n              <ejs-datepicker\r\n                [(ngModel)]=\"endDate\"\r\n                [format]=\"datePipeFormat\"\r\n                [placeholder]=\"translation.END_DATE || '.END_DATE'\"\r\n                (change)=\"onEndDateChange($event)\"\r\n              ></ejs-datepicker>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <!-- </form> -->\r\n    <!-- <div class=\"footer-btn\">\r\n\t\t\t<button\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\tmat-flat-button\r\n\t\t\t\tclass=\"btn-close\"\r\n\t\t\t\t(click)=\"clear()\"\r\n\t\t\t>\r\n\t\t\t\t{{ translation.CLEAR ? translation.CLEAR : \"Clear\" }}\r\n\t\t\t</button>\r\n\t\t\t<button\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\tmat-flat-button\r\n\t\t\t\tclass=\"btn-save\"\r\n\t\t\t\t(click)=\"close()\"\r\n\t\t\t>\r\n\t\t\t\t{{ translation.CLOSE ? translation.CLOSE : \".CLOSE\" }}\r\n\t\t\t</button>\r\n\t\t</div> -->\r\n  </div>\r\n</div>\r\n","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tInput,\r\n\tChangeDetectorRef,\r\n\tViewChild,\r\n\tElementRef,\r\n} from \"@angular/core\";\r\nimport {\r\n\tGridComponent,\r\n\tExcelExportService,\r\n\tToolbarItems,\r\n\tColumnChooserService,\r\n\tVirtualScrollService,\r\n\tFilterService,\r\n\tFilterSettingsModel,\r\n\tResizeService,\r\n\tExcelQueryCellInfoEventArgs,\r\n\tColumnChooserSettingsModel,\r\n\tPagerComponent,\r\n} from \"@syncfusion/ej2-angular-grids\";\r\n\r\nimport { DashboardPorletsService } from \"../../dashboardPorlets.service\";\r\nimport { ApiList } from \"../../api\";\r\nimport { DashboardService } from \"../../dashboard.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport moment from \"moment\";\r\nimport { Router } from \"@angular/router\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport ResizeObserver from \"resize-observer-polyfill\";\r\nimport { API_SERVICE_TOKEN, PBF_TOKEN } from \"../../../service/InjectionToken\";\r\nimport { Optional, Inject } from \"@angular/core\";\r\nimport { getTranslation } from \"../../../utils/utils\";\r\n\r\n@Component({\r\n\tselector: \"kt-gadget-table\",\r\n\ttemplateUrl: \"./gadget-table.component.html\",\r\n\tstyleUrls: [\"./gadget-table.component.scss\"],\r\n\tproviders: [\r\n\t\tExcelExportService,\r\n\t\tColumnChooserService,\r\n\t\tVirtualScrollService,\r\n\t\tFilterService,\r\n\t\tResizeService,\r\n\t],\r\n})\r\nexport class GadgetTableComponent implements OnInit {\r\n\t@Input() portlet;\r\n\t@Input() dashboard;\r\n\t@Input() portlets;\r\n\t@Input() isDownloadCache = false;\r\n\t@Input() customized = false;\r\n\r\n\t@ViewChild(\"grid\", { static: false }) public grid: GridComponent;\r\n\t@ViewChild(\"pager\", { static: false }) public pager: PagerComponent;\r\n\t@ViewChild(\"gadgetTableContainer\", { static: false })\r\n\tgadgetTableContainer: ElementRef<HTMLElement>;\r\n\tprivate config;\r\n\tpublic translation;\r\n\tprivate userInfo;\r\n\tprivate datePipeFormat;\r\n\tpublic filterSettings: FilterSettingsModel;\r\n\tpublic filter: Object;\r\n\tpublic data;\r\n\tpublic tableList;\r\n\tprivate tableList_footer = [];\r\n\tprivate formatSettings = [];\r\n\tprivate toolbarOptions: ToolbarItems[];\r\n\tpublic aggregates: object;\r\n\tprivate subscriptions: Subscription[] = [];\r\n\t// 已经保存过的列数据配置\r\n\tprivate configFields = [];\r\n\tprivate quarterFormat;\r\n\tprivate formatDates = [];\r\n\tpublic ColumnChooserSettings: ColumnChooserSettingsModel;\r\n\tpublic millionFields = [];\r\n\t// Pager\r\n\tpublic currentPage = 1; // 当前页数\r\n\tpublic pageSize = 10; // 一页显示行数\r\n\tpublic totalRecordsCount; // 总行数\r\n\tpublic filterContents; // 所有可以过滤的选项\r\n\tpublic sort; // 0表示降序 1表示升序\r\n\tpublic sortedColumn; // sort的列名\r\n\tpublic pageLoading;\r\n\tpublic currentFilterField; // 当前过滤的字段;\r\n\tpublic allFields;\r\n\thideTable: boolean;\r\n\tshowHightlight = false;\r\n\tenableVirtualization = false;\r\n\ttableHeight = 280;\r\n\tprivate resizeObserver: ResizeObserver;\r\n\r\n\tconstructor(\r\n\t\tpublic dashboardPorletsService: DashboardPorletsService,\r\n\t\t@Optional() @Inject(PBF_TOKEN) private pbf: any,\r\n\t\tprivate api: ApiList,\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate dashboardService: DashboardService,\r\n\t\tprivate el: ElementRef,\r\n\t\t@Optional() @Inject(API_SERVICE_TOKEN) private http: any,\r\n\t\tprivate router: Router\r\n\t) {}\r\n\tngOnInit() {\r\n\t\tthis.getInfo();\r\n\t\tthis.filterSettings = { type: \"Menu\" };\r\n\t\tthis.ColumnChooserSettings = { operator: \"contains\" };\r\n\t\tthis.filter = { type: \"CheckBox\" };\r\n\t\tthis.toolbarOptions = [\"ColumnChooser\"];\r\n\t\tthis.quarterFormat = this.setQuarterFormat();\r\n\t\tthis.getTableData();\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.subscriptions.push(\r\n\t\t\tthis.dashboardService.getchangeTable().subscribe((updated) => {\r\n\t\t\t\tif (updated) {\r\n\t\t\t\t\tthis.pageSize = this.config.pvPageSize || 10;\r\n\t\t\t\t\tthis.currentPage = 1;\r\n\t\t\t\t\tthis.getTableData();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis.subscriptions.push(\r\n\t\t\tthis.dashboardService.getRefreshGadget().subscribe((e) => {\r\n\t\t\t\tif (!e || e[\"dashboardId\"] !== this.dashboard.id) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tconst id = e[\"newId\"];\r\n\t\t\t\tif (id === this.portlet.newId || id === this.portlet.id) {\r\n\t\t\t\t\tthis.pageSize = this.config.pvPageSize || 10;\r\n\t\t\t\t\tthis.currentPage = 1;\r\n\t\t\t\t\tthis.getTableData();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis.subscriptions.push(\r\n\t\t\tthis.dashboardService.getStartRefresh().subscribe((dashboardId) => {\r\n\t\t\t\tif (dashboardId === this.dashboard.id) {\r\n\t\t\t\t\tthis.pageLoading = true;\r\n\t\t\t\t\tthis.ref.markForCheck();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis.subscriptions.push(\r\n\t\t\tthis.dashboardService.getUpdated().subscribe((newId) => {\r\n\t\t\t\tif (newId === this.portlet.newId || newId === this.portlet.id) {\r\n\t\t\t\t\tthis.pageSize = this.config.pvPageSize || 10;\r\n\t\t\t\t\tthis.currentPage = 1;\r\n\t\t\t\t\tthis.getTableData();\r\n\t\t\t\t\tif (this.grid) {\r\n\t\t\t\t\t\tthis.grid.columns.forEach((item) => {\r\n\t\t\t\t\t\t\tthis.tableList.forEach((table) => {\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\titem.field === table.colName &&\r\n\t\t\t\t\t\t\t\t\ttable.format &&\r\n\t\t\t\t\t\t\t\t\ttable.format.length &&\r\n\t\t\t\t\t\t\t\t\ttable.format[0].formatChecked\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\titem.headerText =\r\n\t\t\t\t\t\t\t\t\t\ttable.displayName ||\r\n\t\t\t\t\t\t\t\t\t\ttable.langValue ||\r\n\t\t\t\t\t\t\t\t\t\tthis.translation[table.langCode] ||\r\n\t\t\t\t\t\t\t\t\t\ttable.langCode;\r\n\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t[\"number\", \"percent\"].includes(\r\n\t\t\t\t\t\t\t\t\t\t\ttable.dataType\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\tlet formatString;\r\n\t\t\t\t\t\t\t\t\t\tif (table.dataType === \"number\") {\r\n\t\t\t\t\t\t\t\t\t\t\tformatString =\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.pbf.formatNumber(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttable.format[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.selectedFormat\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t} else if (\r\n\t\t\t\t\t\t\t\t\t\t\ttable.dataType === \"percent\"\r\n\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\tformatString =\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.pbf.formatPercent(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttable.format[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.selectedFormat\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\titem.format = formatString;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis.subscriptions.push(\r\n\t\t\tthis.dashboardService.getTableFormat().subscribe((data) => {\r\n\t\t\t\tif (data === this.portlet.newId) {\r\n\t\t\t\t\tthis.getTableData();\r\n\t\t\t\t\tthis.grid.columns.forEach((item) => {\r\n\t\t\t\t\t\tthis.tableList.forEach((table) => {\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\titem.field === table.colName &&\r\n\t\t\t\t\t\t\t\ttable.format &&\r\n\t\t\t\t\t\t\t\ttable.format.length &&\r\n\t\t\t\t\t\t\t\ttable.format[0].formatChecked\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\titem.headerText =\r\n\t\t\t\t\t\t\t\t\ttable.displayName ||\r\n\t\t\t\t\t\t\t\t\ttable.langValue ||\r\n\t\t\t\t\t\t\t\t\tthis.translation[table.langCode] ||\r\n\t\t\t\t\t\t\t\t\ttable.langCode;\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t[\"number\", \"percent\"].includes(\r\n\t\t\t\t\t\t\t\t\t\ttable.dataType\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\tlet formatString;\r\n\t\t\t\t\t\t\t\t\tif (table.dataType === \"number\") {\r\n\t\t\t\t\t\t\t\t\t\tformatString = this.pbf.formatNumber(\r\n\t\t\t\t\t\t\t\t\t\t\ttable.format[0].selectedFormat\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t} else if (table.dataType === \"percent\") {\r\n\t\t\t\t\t\t\t\t\t\tformatString = this.pbf.formatPercent(\r\n\t\t\t\t\t\t\t\t\t\t\ttable.format[0].selectedFormat\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\titem.format = formatString;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.hideTable = true;\r\n\t\t\t\t\tthis.pageLoading = true;\r\n\t\t\t\t\tthis.ref.markForCheck();\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\tthis.hideTable = false;\r\n\t\t\t\t\t\tthis.pageLoading = false;\r\n\t\t\t\t\t\tthis.ref.markForCheck();\r\n\t\t\t\t\t}, 300);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis.updateTableHeight();\r\n\t\tsetTimeout(() => this.updateTableHeight(), 0);\r\n\t\tif (typeof ResizeObserver !== \"undefined\" && this.gadgetTableContainer && this.gadgetTableContainer.nativeElement) {\r\n\t\t\tthis.resizeObserver = new ResizeObserver(() =>\r\n\t\t\t\tthis.updateTableHeight()\r\n\t\t\t);\r\n\t\t\tthis.resizeObserver.observe(this.gadgetTableContainer.nativeElement);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate updateTableHeight(): void {\r\n\t\tconst el =this.gadgetTableContainer && this.gadgetTableContainer.nativeElement;\r\n\t\tif (!el) return;\r\n\t\tconst height = el.offsetHeight || el.clientHeight || 0;\r\n\t\tthis.tableHeight = Math.max(0, height - 80);\r\n\t\tthis.ref.markForCheck();\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\r\n\t\tthis.resizeObserver && this.resizeObserver.disconnect();\r\n\t}\r\n\r\n\tpublic customiseCell(args: any) {\r\n\t\tif (\r\n\t\t\t(args.column.field.toLowerCase() === \"fundname\" ||\r\n\t\t\t\targs.column.field.toLowerCase() === \"investmententity\" ||\r\n\t\t\t\targs.column.field.toLowerCase() === \"name\" ||\r\n\t\t\t\targs.column.field.toLowerCase() === \"entityname\" ||\r\n\t\t\t\targs.column.field.toLowerCase() === \"companyname\") &&\r\n\t\t\t(args.data.FundId || args.data.CompanyId) &&\r\n\t\t\tthis.config &&\r\n\t\t\tthis.config.redirectObject\r\n\t\t) {\r\n\t\t\targs.cell.setAttribute(\r\n\t\t\t\t\"data-fundid\",\r\n\t\t\t\targs.data.FundId || args.data.CompanyId\r\n\t\t\t); //\r\n\t\t}\r\n\t\tif (args.column.type === \"date\" || args.column.type === \"dateTime\") {\r\n\t\t\tconst { field } = args.column;\r\n\t\t\tif (!args.data[field]) {\r\n\t\t\t\targs.column.type = \"string\";\r\n\t\t\t\targs.column.format = \"\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet queryCell =\r\n\t\t\tthis.tableList &&\r\n\t\t\tthis.tableList.filter(\r\n\t\t\t\t(item) => item.colName === args.column.field\r\n\t\t\t)[0];\r\n\r\n\t\tif (\r\n\t\t\tqueryCell &&\r\n\t\t\tqueryCell.format &&\r\n\t\t\tqueryCell.format.length &&\r\n\t\t\tqueryCell.format[0].formatChecked\r\n\t\t) {\r\n\t\t\t// SMP2-3416 0的format start\r\n\t\t\tif (\r\n\t\t\t\t[2, 5, 8, 11, 14, 17].includes(\r\n\t\t\t\t\tqueryCell.format[0].selectedFormat\r\n\t\t\t\t) &&\r\n\t\t\t\targs.data[queryCell.colName] === 0\r\n\t\t\t)\r\n\t\t\t\targs.cell.innerHTML = \"-\";\r\n\t\t\tif (\r\n\t\t\t\t[3, 6, 9, 12, 15, 18].includes(\r\n\t\t\t\t\tqueryCell.format[0].selectedFormat\r\n\t\t\t\t) &&\r\n\t\t\t\targs.data[queryCell.colName] === 0\r\n\t\t\t)\r\n\t\t\t\targs.cell.innerHTML = \"\";\r\n\t\t\t// SMP2-3416 0的format end\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tqueryCell &&\r\n\t\t\tqueryCell.format &&\r\n\t\t\tqueryCell.format.length &&\r\n\t\t\tqueryCell.format[0].fontSettingChecked\r\n\t\t) {\r\n\t\t\tif (\r\n\t\t\t\tqueryCell.format[0].formatChecked &&\r\n\t\t\t\tqueryCell.format[0].compareSelect\r\n\t\t\t) {\r\n\t\t\t\tlet cellData = args.data[args.column.field];\r\n\t\t\t\tlet condition: Boolean = false;\r\n\t\t\t\tswitch (queryCell.format[0].compareSelect) {\r\n\t\t\t\t\tcase \"LessThan\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData <\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"LessThanOrEqualTo\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData <=\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"GreaterThan\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData >\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"GreaterThanOrEqualTo\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData >=\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"Equals\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData ===\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"NotEquals\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData !==\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"Between\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData >=\r\n\t\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1) &&\r\n\t\t\t\t\t\t\tcellData <= queryCell.format[0].compareValue2;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"NotBetween\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData <\r\n\t\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1) &&\r\n\t\t\t\t\t\t\tcellData >\r\n\t\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue2);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tif (condition) this.cellAddStyle(args, queryCell);\r\n\t\t\t} else this.cellAddStyle(args, queryCell);\r\n\t\t}\r\n\r\n\t\t// date format about quarterly\r\n\t\tlet dateFields =\r\n\t\t\tthis.formatDates &&\r\n\t\t\tthis.formatDates.map((el) => {\r\n\t\t\t\treturn el.name;\r\n\t\t\t});\r\n\t\tif (\r\n\t\t\targs.column.field &&\r\n\t\t\tdateFields &&\r\n\t\t\tdateFields.includes(args.column.field) &&\r\n\t\t\tqueryCell.format &&\r\n\t\t\tqueryCell.format.length &&\r\n\t\t\tqueryCell.format[0].formatChecked\r\n\t\t) {\r\n\t\t\tlet date = new Date(args.data[args.column.field]);\r\n\t\t\tlet quarter =\r\n\t\t\t\tMath.floor((date.getMonth() + 1) % 3) == 0\r\n\t\t\t\t\t? Math.floor((date.getMonth() + 1) / 3)\r\n\t\t\t\t\t: Math.floor((date.getMonth() + 1) / 3) + 1;\r\n\r\n\t\t\tlet format;\r\n\r\n\t\t\tthis.formatDates.map((el) => {\r\n\t\t\t\tif (el.name == args.column.field) format = el.format;\r\n\t\t\t});\r\n\t\t\tlet year: any;\r\n\t\t\tswitch (format) {\r\n\t\t\t\tcase \"Q1 2021\":\r\n\t\t\t\t\tyear = date.getFullYear();\r\n\t\t\t\t\targs.cell.innerHTML = \"Q\" + quarter + \" \" + year;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"Q1 21\":\r\n\t\t\t\t\tyear = (date as any).getYear() - 100;\r\n\t\t\t\t\targs.cell.innerHTML = \"Q\" + quarter + \" \" + year;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"2021 Q1\":\r\n\t\t\t\t\tyear = date.getFullYear();\r\n\t\t\t\t\targs.cell.innerHTML = year + \" \" + \"Q\" + quarter;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"21 Q1\":\r\n\t\t\t\t\tyear = (date as any).getYear() - 100;\r\n\t\t\t\t\targs.cell.innerHTML = year + \" \" + \"Q\" + quarter;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (args.column.field)\r\n\t\t\tif (\r\n\t\t\t\t[\"MOIC\", \"DPI\", \"TVPI\", \"RVPI\", \"PIC\", \"Multiple\"].includes(\r\n\t\t\t\t\targs.column.field\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tif (args.data && args.data[args.column.field]) {\r\n\t\t\t\t\t// 渲染过一次后，就用原数据就好了\r\n\t\t\t\t\targs.cell.innerHTML = `<div>${\r\n\t\t\t\t\t\targs.data[args.column.field].indexOf instanceof Function\r\n\t\t\t\t\t\t\t? args.data[args.column.field]\r\n\t\t\t\t\t\t\t: this.getXTxt(args.column.field, args.data)\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>`;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\tif (\r\n\t\t\targs.column &&\r\n\t\t\targs.column.format &&\r\n\t\t\targs.column.format === \"dd-MMM-yyyy\"\r\n\t\t) {\r\n\t\t\targs.cell.innerHTML = `<div>${moment(\r\n\t\t\t\targs.data[args.column.field]\r\n\t\t\t).format(\"DD-MMM-yyyy\")}</div>`;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate cellAddStyle(args, queryCell) {\r\n\t\tif (queryCell.format[0].fontSettingChecked) {\r\n\t\t\tlet formatCellData = args.data[args.column.field];\r\n\t\t\tif (Math.sign(formatCellData) !== 0)\r\n\t\t\t\tif (Math.sign(formatCellData) === -1) {\r\n\t\t\t\t\targs.cell.style.cssText += `color: ${queryCell.format[0].negaFontColor} !important`;\r\n\t\t\t\t\targs.cell.style.cssText += `font-size: ${queryCell.format[0].negaFontSizeValue} !important`;\r\n\t\t\t\t\targs.cell.style.cssText += `font-family: ${queryCell.format[0].negaFontFamilyValue} !important`;\r\n\t\t\t\t\targs.cell.style.cssText += `background-color: ${queryCell.format[0].negaBackgroundColor} !important`;\r\n\t\t\t\t} else {\r\n\t\t\t\t\targs.cell.style.cssText += `color: ${queryCell.format[0].fontColor} !important`;\r\n\t\t\t\t\targs.cell.style.cssText += `font-size: ${queryCell.format[0].fontSizeValue} !important`;\r\n\t\t\t\t\targs.cell.style.cssText += `font-family: ${queryCell.format[0].fontFamilyValue} !important`;\r\n\t\t\t\t\targs.cell.style.cssText += `background-color: ${queryCell.format[0].backgroundColor} !important`;\r\n\t\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate async getTableData() {\r\n\t\tthis.pageLoading = false;\r\n\t\tthis.config = JSON.parse(this.portlet.config);\r\n\t\tthis.pageSize = this.config.pvPageSize || 10;\r\n\t\tif (this.config.redirectObject) {\r\n\t\t\tthis.showHightlight = this.config.redirectObject.showHightlight;\r\n\t\t}\r\n\t\tif (this.config.fields) {\r\n\t\t\tif (this.dashboardPorletsService.allFieldsObj[this.portlet.id]) {\r\n\t\t\t\tthis.config.fields =\r\n\t\t\t\t\tthis.dashboardPorletsService.setConfigFields(\r\n\t\t\t\t\t\tthis.dashboardPorletsService.allFieldsObj[\r\n\t\t\t\t\t\t\tthis.portlet.id\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t\tthis.config.fields\r\n\t\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tthis.configFields = [...this.config.fields];\r\n\t\t}\r\n\t\t// ejs-grid 坑点：列头数据，colName中不能含有空格\r\n\t\t// GetSchema接口中获取的所有列的dataType和GetPortletDataOrCreate接口中返回的数据类型必须保持一致，否则会导致数据总量显示，但是列表中无数据\r\n\t\tconst data = this.dashboardPorletsService.getResultByDataTable(\r\n\t\t\tthis.portlet,\r\n\t\t\tfalse,\r\n\t\t\tfalse,\r\n\t\t\tthis.dashboard.id\r\n\t\t);\r\n\t\tthis.data = data && data.length ? [...data] : [];\r\n\t\t// 获取所有日期类型的字段\r\n\t\tconst dateFields = this.configFields\r\n\t\t\t? this.configFields\r\n\t\t\t\t\t.filter(\r\n\t\t\t\t\t\t(field) =>\r\n\t\t\t\t\t\t\tfield.dataType === \"date\" ||\r\n\t\t\t\t\t\t\tfield.dataType === \"datetime\"\r\n\t\t\t\t\t)\r\n\t\t\t\t\t.map((field) => field.colName)\r\n\t\t\t: [];\r\n\t\tthis.data = this.data.map((item) => {\r\n\t\t\tconst translationMap = {\r\n\t\t\t\tIndirect: this.translation.INDIRECT || \"Indirect\",\r\n\t\t\t\tDirect: this.translation.DIRECT || \"Direct\",\r\n\t\t\t};\r\n\t\t\tconst newItem = {\r\n\t\t\t\t...item,\r\n\t\t\t\tDirectIndirect:\r\n\t\t\t\t\ttranslationMap[item.DirectIndirect] || item.DirectIndirect,\r\n\t\t\t};\r\n\t\t\t// 转换日期字段：将 UTC 时间字符串转换为本地时区的日期字符串\r\n\t\t\tdateFields.forEach((fieldName) => {\r\n\t\t\t\tif (\r\n\t\t\t\t\tnewItem[fieldName] &&\r\n\t\t\t\t\ttypeof newItem[fieldName] === \"string\" &&\r\n\t\t\t\t\tnewItem[fieldName].indexOf(\"T\") !== -1\r\n\t\t\t\t) {\r\n\t\t\t\t\tnewItem[fieldName] = this.pbf.setUTCtoString(\r\n\t\t\t\t\t\tnewItem[fieldName]\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn newItem;\r\n\t\t});\r\n\t\tthis.totalRecordsCount =\r\n\t\t\tthis.dashboardPorletsService.getResultByDataTable(\r\n\t\t\t\tthis.portlet,\r\n\t\t\t\ttrue,\r\n\t\t\t\ttrue,\r\n\t\t\t\tthis.dashboard.id\r\n\t\t\t);\r\n\t\tthis.enableVirtualization = false;\r\n\t\tif (this.totalRecordsCount >= 50 && this.pageSize > 10) {\r\n\t\t\tthis.enableVirtualization = true;\r\n\t\t}\r\n\t\tif (\r\n\t\t\tthis.config &&\r\n\t\t\tthis.configFields &&\r\n\t\t\tthis.configFields.length &&\r\n\t\t\tthis.data\r\n\t\t) {\r\n\t\t\tthis.formatSettings = [];\r\n\t\t\tthis.formatDates = [];\r\n\t\t\tthis.configFields.map((el) => {\r\n\t\t\t\tif (\r\n\t\t\t\t\t[\"number\", \"percent\", \"percentNum\", \"multiple\"].includes(\r\n\t\t\t\t\t\tel.dataType\r\n\t\t\t\t\t)\r\n\t\t\t\t) {\r\n\t\t\t\t\tlet format = this.getNumFormat(el);\r\n\t\t\t\t\tconst formatData = {\r\n\t\t\t\t\t\tname: el.colName,\r\n\t\t\t\t\t\tformat: format,\r\n\t\t\t\t\t};\r\n\t\t\t\t\tthis.formatSettings.push(formatData);\r\n\t\t\t\t}\r\n\t\t\t\tif (el.dataType == \"datetime\" || el.dataType == \"date\") {\r\n\t\t\t\t\tlet format = \"\";\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tel.format &&\r\n\t\t\t\t\t\tel.format.length &&\r\n\t\t\t\t\t\tel.format[0].formatChecked\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tif (el.format[0].dateType == \"Quarter\") {\r\n\t\t\t\t\t\t\tlet format_ = el.format[0].selectedFormatDisplay;\r\n\t\t\t\t\t\t\tlet formatInfo = this.quarterFormat.filter(\r\n\t\t\t\t\t\t\t\t(qur) => qur.value == format_\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tif (formatInfo.length) {\r\n\t\t\t\t\t\t\t\tformat = formatInfo[0].format;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tconst formatData = {\r\n\t\t\t\t\t\t\t\t\tname: el.colName,\r\n\t\t\t\t\t\t\t\t\tformat: format_,\r\n\t\t\t\t\t\t\t\t\ttype: \"date\",\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tthis.formatDates.push(formatData);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else if (el.format[0].dateType == \"Date\") {\r\n\t\t\t\t\t\t\tlet fromIdx =\r\n\t\t\t\t\t\t\t\tel.format[0].selectedFormatDisplay.indexOf(\"(\");\r\n\t\t\t\t\t\t\tlet toIdx =\r\n\t\t\t\t\t\t\t\tel.format[0].selectedFormatDisplay.indexOf(\")\");\r\n\t\t\t\t\t\t\tlet format_ =\r\n\t\t\t\t\t\t\t\tel.format[0].selectedFormatDisplay.slice(\r\n\t\t\t\t\t\t\t\t\tfromIdx + 1,\r\n\t\t\t\t\t\t\t\t\ttoIdx\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tformat = this.getDateFormat(format_);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!format) {\r\n\t\t\t\t\t\tconst formatData = {\r\n\t\t\t\t\t\t\tname: el.colName,\r\n\t\t\t\t\t\t\tformat: this.datePipeFormat,\r\n\t\t\t\t\t\t\ttype: \"date\",\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tthis.formatSettings.push(formatData);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst formatData = {\r\n\t\t\t\t\t\t\tname: el.colName,\r\n\t\t\t\t\t\t\tformat: format,\r\n\t\t\t\t\t\t\ttype: \"date\",\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tthis.formatSettings.push(formatData);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tconst newTableList = [];\r\n\t\t\tthis.configFields.forEach((item) => {\r\n\t\t\t\tif (!item.isHidden) {\r\n\t\t\t\t\tconst obj = {\r\n\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\tdataType: [\r\n\t\t\t\t\t\t\t\"MOIC\",\r\n\t\t\t\t\t\t\t\"DPI\",\r\n\t\t\t\t\t\t\t\"TVPI\",\r\n\t\t\t\t\t\t\t\"RVPI\",\r\n\t\t\t\t\t\t\t\"PIC\",\r\n\t\t\t\t\t\t\t\"Multiple\",\r\n\t\t\t\t\t\t].includes(item.colName)\r\n\t\t\t\t\t\t\t? \"string\"\r\n\t\t\t\t\t\t\t: item[\"dataType\"],\r\n\t\t\t\t\t};\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tArray.isArray(item.format) &&\r\n\t\t\t\t\t\titem.format.length > 0 &&\r\n\t\t\t\t\t\titem.format[0].formatChecked\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tobj.displayName = item.format[0].displayName;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnewTableList.push(obj);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tthis.tableList = newTableList;\r\n\t\t\tconst typeMap = {};\r\n\t\t\tthis.tableList.forEach((col) => {\r\n\t\t\t\tif (col.dataType === \"number\") {\r\n\t\t\t\t\ttypeMap[col.colName] = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tthis.data.forEach((_data) => {\r\n\t\t\t\tObject.keys(typeMap).forEach((key) => {\r\n\t\t\t\t\t_data[key] =\r\n\t\t\t\t\t\t_data[key] === null\r\n\t\t\t\t\t\t\t? null\r\n\t\t\t\t\t\t\t: this.pbf.bankersRounding(\r\n\t\t\t\t\t\t\t\t\tNumber(_data[key]),\r\n\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\ttrue\r\n\t\t\t\t\t\t\t  );\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (this.config.filterSettings && this.config.filterSettings.length) {\r\n\t\t\tthis.filterSettings.columns = this.config.filterSettings;\r\n\t\t}\r\n\r\n\t\tif ((!this.data || this.data.length === 0) && this.isDownloadCache) {\r\n\t\t\tthis.pbf.dashboardReadyDownload.next(this.portlet.newId);\r\n\t\t}\r\n\r\n\t\tthis.data = [...this.data];\r\n\t\tthis.ref.detectChanges();\r\n\t}\r\n\r\n\tpublic getFormatOptions(colName) {\r\n\t\tlet res =\r\n\t\t\tthis.formatSettings &&\r\n\t\t\tthis.formatSettings.filter((el) => el.name === colName);\r\n\t\tif (res && res.length) return res[0].format;\r\n\t}\r\n\r\n\tprivate getInfo() {\r\n\t\tthis.translation = getTranslation();\r\n\t\tthis.userInfo = JSON.parse(localStorage.getItem(\"userInfo\") || \"{}\");\r\n\t\tthis.datePipeFormat = localStorage.getItem(\"datePipe\");\r\n\t}\r\n\r\n\tpublic actionComplete(args) {\r\n\t\tif (args.requestType === \"filtering\") {\r\n\t\t\tif (args.action === \"filter\") {\r\n\t\t\t\tlet filteredvalues = [];\r\n\t\t\t\tfor (let item of args.columns) {\r\n\t\t\t\t\t// if (item.type === \"datetime\" || item.type === \"date\") {\r\n\t\t\t\t\t// \titem.value = this.pbf.time(item.value);\r\n\t\t\t\t\t// }\r\n\t\t\t\t\tfilteredvalues.push({\r\n\t\t\t\t\t\tfield: item.field,\r\n\t\t\t\t\t\tmatchCase: item.matchCase,\r\n\t\t\t\t\t\toperator: item.operator,\r\n\t\t\t\t\t\tpredicate: item.predicate,\r\n\t\t\t\t\t\ttype: item.type,\r\n\t\t\t\t\t\tvalue: item.value,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tthis.config.filterSettings = filteredvalues;\r\n\t\t\t} else {\r\n\t\t\t\tthis.currentFilterField = \"\";\r\n\t\t\t\tthis.config.filterSettings = [];\r\n\t\t\t}\r\n\t\t\tconst portlet = this.portlet;\r\n\t\t\tportlet.config = JSON.stringify(this.config);\r\n\t\t\tconst index = this.portlets.findIndex(\r\n\t\t\t\t(x) => x.newId === portlet.newId\r\n\t\t\t);\r\n\t\t\tif (index > -1) this.portlets[index] = portlet;\r\n\t\t\tthis.currentPage = 1;\r\n\t\t\tthis.reloadTableData({\r\n\t\t\t\tpage: this.currentPage,\r\n\t\t\t\tsize: this.pageSize,\r\n\t\t\t\tsortedColumn:\r\n\t\t\t\t\tthis.sortedColumn === null ? undefined : this.sortedColumn,\r\n\t\t\t\tsort: this.sort === null ? undefined : this.sort,\r\n\t\t\t});\r\n\t\t}\r\n\t\t// 列选择事件\r\n\t\tif (args.requestType === \"columnstate\") {\r\n\t\t\tconst hideColumns = this.grid.getHiddenColumns();\r\n\t\t\tthis.configFields.map((el) => (el.visible = true));\r\n\t\t\tif (hideColumns.length > 0) {\r\n\t\t\t\tfor (let hideitem of hideColumns) {\r\n\t\t\t\t\tif (hideitem.field)\r\n\t\t\t\t\t\tthis.configFields.filter(\r\n\t\t\t\t\t\t\t(el) => el.colName === hideitem.field\r\n\t\t\t\t\t\t)[0].visible = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.config.fields = JSON.parse(JSON.stringify(this.configFields));\r\n\t\t\tthis.portlet.config = JSON.stringify(this.config);\r\n\t\t\tconst _portlet = cloneDeep(this.portlet);\r\n\t\t\tthis.portlets.forEach((item, i) => {\r\n\t\t\t\tif (item.newId === _portlet.newId) {\r\n\t\t\t\t\tconst _config_new = JSON.parse(item.config);\r\n\t\t\t\t\tconst _config = JSON.parse(_portlet.config);\r\n\t\t\t\t\t_config.redirectObject = cloneDeep(\r\n\t\t\t\t\t\t_config_new.redirectObject\r\n\t\t\t\t\t);\r\n\t\t\t\t\t_portlet.config = JSON.stringify(_config);\r\n\t\t\t\t\tthis.portlets[i] = cloneDeep(_portlet);\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t// const index = this.portlets.findIndex(\r\n\t\t\t// \t(x) => x.newId === this.portlet.newId\r\n\t\t\t// );\r\n\t\t\t// this.portlets[index].config = JSON.stringify(this.config);\r\n\t\t\tthis.reloadTableData(\r\n\t\t\t\t{\r\n\t\t\t\t\tpage: this.currentPage,\r\n\t\t\t\t\tsize: this.pageSize,\r\n\t\t\t\t\tsortedColumn:\r\n\t\t\t\t\t\tthis.sortedColumn === null\r\n\t\t\t\t\t\t\t? undefined\r\n\t\t\t\t\t\t\t: this.sortedColumn,\r\n\t\t\t\t\tsort: this.sort === null ? undefined : this.sort,\r\n\t\t\t\t},\r\n\t\t\t\ttrue\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic actionBegin(args) {\r\n\t\tif (args.requestType === \"filterchoicerequest\") {\r\n\t\t\tconst checkboxfilter = this.el.nativeElement.querySelector(\r\n\t\t\t\t\".e-checkboxfilter\"\r\n\t\t\t) as HTMLElement;\r\n\t\t\tif (checkboxfilter) {\r\n\t\t\t\tif (this.portlet.height == 1) {\r\n\t\t\t\t\targs.filterModel.dlg.style.minHeight = \"calc(100% - 12px)\";\r\n\t\t\t\t\targs.filterModel.dlg.style.maxHeight = \"calc(100% - 12px)\";\r\n\t\t\t\t} else {\r\n\t\t\t\t\targs.filterModel.dlg.style.minHeight = \"350px\";\r\n\t\t\t\t\targs.filterModel.dlg.style.maxHeight = \"350px\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (\r\n\t\t\targs.requestType == \"filterchoicerequest\" ||\r\n\t\t\targs.requestType === \"filtersearchbegin\"\r\n\t\t) {\r\n\t\t\targs.filterChoiceCount = 3000;\r\n\t\t}\r\n\r\n\t\t// 显示过滤的选项\r\n\t\tif (\r\n\t\t\targs.requestType === \"filterbeforeopen\" &&\r\n\t\t\tthis.currentFilterField !== args.columnName\r\n\t\t) {\r\n\t\t\targs.cancel = true;\r\n\t\t\tlet columnFilter = [];\r\n\t\t\tlet field = args.columnName;\r\n\t\t\tif (this.config.filterSettings.length) {\r\n\t\t\t\tcolumnFilter = this.config.filterSettings.filter(\r\n\t\t\t\t\t(x) => x.field !== field\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tlet data = {\r\n\t\t\t\tdashboardDataTableId: this.portlet.dashboardDataTableId,\r\n\t\t\t\tdisplayColumnFilter: field,\r\n\t\t\t\tcolumnFilter: columnFilter,\r\n\t\t\t};\r\n\t\t\tthis.http.post(\r\n\t\t\t\tthis.api.urlList.GetDistinctColumnValsByPortletDataParam,\r\n\t\t\t\tdata,\r\n\t\t\t\t(res) => {\r\n\t\t\t\t\tthis.pageLoading = false;\r\n\t\t\t\t\tlet curFomart = this.formatSettings.find(\r\n\t\t\t\t\t\t(x) => x.name === field\r\n\t\t\t\t\t);\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tcurFomart &&\r\n\t\t\t\t\t\t[\"date\", \"datetime\"].includes(curFomart.type)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tres = res[field].map((x) => new Date(x));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tres = res[field];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.currentFilterField = args.columnName;\r\n\t\t\t\t\tthis.filterContents = res;\r\n\t\t\t\t\tthis.grid.filterModule.openMenuByField(args.columnName);\r\n\t\t\t\t\tif (columnFilter.length) {\r\n\t\t\t\t\t\tthis.grid.clearFiltering();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\tif (\r\n\t\t\t\targs.requestType === \"filterbeforeopen\" &&\r\n\t\t\t\tthis.currentFilterField === args.columnName\r\n\t\t\t) {\r\n\t\t\t\tlet columnName = args.columnName;\r\n\t\t\t\tif (this.filterContents) {\r\n\t\t\t\t\tlet curResult = this.filterContents;\r\n\t\t\t\t\tlet filterOptions = curResult.map((x) => {\r\n\t\t\t\t\t\tlet obj: any = {};\r\n\t\t\t\t\t\tobj[columnName] = x;\r\n\t\t\t\t\t\treturn obj;\r\n\t\t\t\t\t});\r\n\t\t\t\t\targs.filterModel.options.dataSource = filterOptions;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// 处理排序\r\n\t\tif (args.requestType === \"sorting\") {\r\n\t\t\tif (args.columnName) {\r\n\t\t\t\tthis.sort = args.direction === \"Ascending\" ? 1 : 0;\r\n\t\t\t\tthis.sortedColumn = args.columnName;\r\n\t\t\t\tthis.reloadTableData({\r\n\t\t\t\t\tpage: this.currentPage,\r\n\t\t\t\t\tsize: this.pageSize,\r\n\t\t\t\t\tsort: this.sort,\r\n\t\t\t\t\tsortedColumn: this.sortedColumn,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.sort = null;\r\n\t\t\t\tthis.sortedColumn = null;\r\n\t\t\t\tthis.reloadTableData({\r\n\t\t\t\t\tpage: this.currentPage,\r\n\t\t\t\t\tsize: this.pageSize,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tthis.config.tableSortSetting = {\r\n\t\t\t\tsort: this.sort,\r\n\t\t\t\tsortedColumn: this.sortedColumn,\r\n\t\t\t};\r\n\t\t\tthis.portlet.config = JSON.stringify(this.config);\r\n\t\t\tconst index = this.portlets.findIndex(\r\n\t\t\t\t(x) => x.newId === this.portlet.newId\r\n\t\t\t);\r\n\t\t\tthis.portlets[index].config = JSON.stringify(this.config);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic resizeStop(args) {\r\n\t\tlet field = this.configFields.filter(\r\n\t\t\t(el) => el.colName === args.column.field\r\n\t\t);\r\n\t\tif (field && field.length > 0) {\r\n\t\t\tfield[0].width = parseInt(args.column.width);\r\n\t\t\tconst portlet = this.portlet;\r\n\t\t\tportlet.config = JSON.stringify(this.config);\r\n\t\t\tconst index = this.portlets.findIndex(\r\n\t\t\t\t(x) => x.newId === portlet.newId\r\n\t\t\t);\r\n\t\t\tthis.portlets[index] = portlet;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic rowDataBound(args) {\r\n\t\tif (args.row.ariaRowIndex % 2 === 0) {\r\n\t\t\targs.row.style.backgroundColor = \"#f8fafb\";\r\n\t\t} else {\r\n\t\t\targs.row.style.backgroundColor = \"#ffffff\";\r\n\t\t}\r\n\t}\r\n\r\n\tpublic created(args) {\r\n\t\tif (this.config.showGrandTotals) {\r\n\t\t\tlet el = this.grid.element.querySelector(\".e-gridfooter\");\r\n\t\t\tif (el) el.classList.remove(\"hidesummary\");\r\n\t\t} else {\r\n\t\t\tlet el = this.grid.element.querySelector(\".e-gridfooter\");\r\n\t\t\tif (el) el.classList.add(\"hidesummary\");\r\n\t\t}\r\n\t}\r\n\r\n\tdataBound() {\r\n\t\tif (this.isDownloadCache) {\r\n\t\t\tthis.pbf.dashboardReadyDownload.next(this.portlet.newId);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic exportQueryCellInfo(args: ExcelQueryCellInfoEventArgs): void {\r\n\t\tlet curFormat = this.formatSettings.find(\r\n\t\t\t(x) => x.name === args.column.field\r\n\t\t);\r\n\t\tif (curFormat) {\r\n\t\t\tif (curFormat.type === \"date\") {\r\n\t\t\t\targs.value = this.pbf.setUTCtoString(args.value);\r\n\t\t\t}\r\n\t\t\t// \targs.value = this.pbf.convertDateFormat(\r\n\t\t\t// \t\targs.value,\r\n\t\t\t// \t\tcurFormat.format\r\n\t\t\t// \t\t\t? curFormat.format.replace(\"dd\", \"DD\")\r\n\t\t\t// \t\t\t: null\r\n\t\t\t// \t);\r\n\t\t\t// }\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\targs.column.field &&\r\n\t\t\tthis.millionFields.includes(args.column.field)\r\n\t\t) {\r\n\t\t\targs.value = args.data[args.column.field] / 1000000;\r\n\t\t}\r\n\r\n\t\tif (this.formatDates && this.formatDates.length) {\r\n\t\t\tlet dateFields = this.formatDates.map((el) => {\r\n\t\t\t\treturn el.name;\r\n\t\t\t});\r\n\r\n\t\t\tif (args.column.field && dateFields.includes(args.column.field)) {\r\n\t\t\t\tlet date = new Date(args.data[args.column.field]);\r\n\r\n\t\t\t\tlet quarter =\r\n\t\t\t\t\tMath.floor((date.getMonth() + 1) % 3) == 0\r\n\t\t\t\t\t\t? Math.floor((date.getMonth() + 1) / 3)\r\n\t\t\t\t\t\t: Math.floor((date.getMonth() + 1) / 3) + 1;\r\n\r\n\t\t\t\tlet format;\r\n\r\n\t\t\t\tthis.formatDates.map((el) => {\r\n\t\t\t\t\tif (el.name == args.column.field) format = el.format;\r\n\t\t\t\t});\r\n\t\t\t\tlet year: any;\r\n\t\t\t\tswitch (format) {\r\n\t\t\t\t\tcase \"Q1 2021\":\r\n\t\t\t\t\t\tyear = date.getFullYear();\r\n\t\t\t\t\t\targs.value = \"Q\" + quarter + \" \" + year;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"Q1 21\":\r\n\t\t\t\t\t\tyear = (date as any).getYear() - 100;\r\n\t\t\t\t\t\targs.value = \"Q\" + quarter + \" \" + year;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"2021 Q1\":\r\n\t\t\t\t\t\tyear = date.getFullYear();\r\n\t\t\t\t\t\targs.value = year + \" \" + \"Q\" + quarter;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"21 Q1\":\r\n\t\t\t\t\t\tyear = (date as any).getYear() - 100;\r\n\t\t\t\t\t\targs.value = year + \" \" + \"Q\" + quarter;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Excel Style Format\r\n\t\tlet queryCell =\r\n\t\t\tthis.tableList &&\r\n\t\t\tthis.tableList.filter(\r\n\t\t\t\t(item) => item.colName === args.column.field\r\n\t\t\t)[0];\r\n\t\tif (\r\n\t\t\tqueryCell &&\r\n\t\t\tqueryCell.format &&\r\n\t\t\tqueryCell.format.length &&\r\n\t\t\tqueryCell.format[0].fontSettingChecked\r\n\t\t) {\r\n\t\t\tif (\r\n\t\t\t\tqueryCell.format[0].formatChecked &&\r\n\t\t\t\tqueryCell.format[0].compareSelect\r\n\t\t\t) {\r\n\t\t\t\tlet cellData = args.data[args.column.field];\r\n\t\t\t\tlet condition: Boolean = false;\r\n\t\t\t\tswitch (queryCell.format[0].compareSelect) {\r\n\t\t\t\t\tcase \"LessThan\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData <\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"LessThanOrEqualTo\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData <=\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"GreaterThan\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData >\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"GreaterThanOrEqualTo\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData >=\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"Equals\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData ===\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"NotEquals\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData !==\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"Between\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData >=\r\n\t\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1) &&\r\n\t\t\t\t\t\t\tcellData <= queryCell.format[0].compareValue2;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"NotBetween\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData <\r\n\t\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1) &&\r\n\t\t\t\t\t\t\tcellData >\r\n\t\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue2);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tif (condition) this.cellAddStyleExcel(args, queryCell);\r\n\t\t\t} else this.cellAddStyleExcel(args, queryCell);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate cellAddStyleExcel(args, queryCell) {\r\n\t\tif (queryCell.format[0].fontSettingChecked) {\r\n\t\t\tlet formatCellData = args.data[args.column.field];\r\n\t\t\tif (Math.sign(formatCellData) !== 0)\r\n\t\t\t\tif (Math.sign(formatCellData) === -1) {\r\n\t\t\t\t\targs.style = {\r\n\t\t\t\t\t\tfontColor: this.pbf.rgbaToHex(\r\n\t\t\t\t\t\t\t`${queryCell.format[0].negaFontColor}`\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t\tfontSize: Number(\r\n\t\t\t\t\t\t\t`${queryCell.format[0].negaFontSizeValue}`.replace(\r\n\t\t\t\t\t\t\t\t\"px\",\r\n\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t\tfontName: `${queryCell.format[0].negaFontFamilyValue}`,\r\n\t\t\t\t\t\tbackColor: this.pbf.rgbaToHex(\r\n\t\t\t\t\t\t\t`${queryCell.format[0].negaBackgroundColor}`\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t};\r\n\t\t\t\t} else {\r\n\t\t\t\t\targs.style = {\r\n\t\t\t\t\t\tfontColor: this.pbf.rgbaToHex(\r\n\t\t\t\t\t\t\t`${queryCell.format[0].fontColor}`\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t\tfontSize: Number(\r\n\t\t\t\t\t\t\t`${queryCell.format[0].fontSizeValue}`.replace(\r\n\t\t\t\t\t\t\t\t\"px\",\r\n\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t\tfontName: `${queryCell.format[0].fontFamilyValue}`,\r\n\t\t\t\t\t\tbackColor: this.pbf.rgbaToHex(\r\n\t\t\t\t\t\t\t`${queryCell.format[0].backgroundColor}`\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic getLogoInfo(colName, code) {\r\n\t\tif (this.configFields && this.configFields.length) {\r\n\t\t\tlet fields = this.configFields.filter(\r\n\t\t\t\t(el) => el.colName == colName\r\n\t\t\t);\r\n\t\t\tif (fields && fields.length) {\r\n\t\t\t\treturn fields[0][code];\r\n\t\t\t} else {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic getLogoImage(logoDocId) {\r\n\t\tlet img;\r\n\t\tif (\r\n\t\t\tlogoDocId !== undefined &&\r\n\t\t\tlogoDocId !== null &&\r\n\t\t\tlogoDocId !== \"00000000-0000-0000-0000-000000000000\"\r\n\t\t) {\r\n\t\t\timg =\r\n\t\t\t\tthis.api.baseurl +\r\n\t\t\t\tthis.api.urlList.FileGet +\r\n\t\t\t\t\"?username=\" +\r\n\t\t\t\tthis.userInfo.username +\r\n\t\t\t\t\"&accountId=\" +\r\n\t\t\t\tthis.userInfo.accountId +\r\n\t\t\t\t\"&docId=\" +\r\n\t\t\t\tlogoDocId +\r\n\t\t\t\t`&Authorization=Bearer`;\r\n\t\t} else {\r\n\t\t\timg = \"../../../../../../assets/img/default_profile_icon.png\";\r\n\t\t}\r\n\t\treturn img;\r\n\t}\r\n\r\n\tprivate setQuarterFormat() {\r\n\t\treturn [\r\n\t\t\t{ value: \"03/2021\", format: \"MM/yyyy\" },\r\n\t\t\t{ value: \"03/21\", format: \"MM/dd\" },\r\n\t\t\t{ value: \"3/2021\", format: \"M/yyyy\" },\r\n\t\t\t{ value: \"3/21\", format: \"M/yy\" },\r\n\t\t\t{ value: \"March 2021\", format: \"MMMM yyyy\" },\r\n\t\t\t{ value: \"Mar, 2021\", format: \"MMM, yyyy\" },\r\n\t\t\t{ value: \"March, 2021\", format: \"MMMM, yyyy\" },\r\n\t\t\t{ value: \"2021\", format: \"yyyy\" },\r\n\t\t];\r\n\t}\r\n\r\n\tprivate getDateFormat(format_) {\r\n\t\tswitch (format_) {\r\n\t\t\tcase \"DD/MM/YYYY\":\r\n\t\t\t\treturn \"dd/MM/yyyy\";\r\n\t\t\tcase \"DD/MM/YY\":\r\n\t\t\t\treturn \"dd/MM/yy\";\r\n\t\t\tcase \"MM/DD/YYYY\":\r\n\t\t\t\treturn \"MM/dd/yyyy\";\r\n\t\t\tcase \"MM/DD/YY\":\r\n\t\t\t\treturn \"MM/dd/yy\";\r\n\t\t\tcase \"YYYY-MM-DD\":\r\n\t\t\t\treturn \"yyyy-MM-dd\";\r\n\t\t\tcase \"YY-MM-DD\":\r\n\t\t\t\treturn \"yy-MM-dd\";\r\n\t\t\tcase \"DD-MM-YYYY\":\r\n\t\t\t\treturn \"dd-MM-yyyy\";\r\n\t\t\tcase \"DD-MM-YY\":\r\n\t\t\t\treturn \"dd-MM-yy\";\r\n\t\t\tcase \"MM-DD-YYYY\":\r\n\t\t\t\treturn \"MM-dd-yyyy\";\r\n\t\t\tcase \"MM-DD-YY\":\r\n\t\t\t\treturn \"MM-dd-yy\";\r\n\t\t\tcase \"MMM DD, YYYY\":\r\n\t\t\t\treturn \"MMM dd, yyyy\";\r\n\t\t\tcase \"DD-MMM-YYYY\":\r\n\t\t\t\treturn \"dd-MMM-yyyy\";\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getNumFormat(el) {\r\n\t\t//SMP2-3026\r\n\t\tif (\r\n\t\t\tel.dataType === \"number\" &&\r\n\t\t\tel.colName !== \"PortInvStk\" &&\r\n\t\t\tel.colName !== \"PortFdInvStk\"\r\n\t\t) {\r\n\t\t\tif (el.format && el.format.length && el.format[0].formatChecked) {\r\n\t\t\t\tif (\r\n\t\t\t\t\t[10, 11, 12, 13, 14, 15, 16, 17, 18].includes(\r\n\t\t\t\t\t\tel.format[0].selectedFormat\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t\t\tthis.millionData(el.colName);\r\n\t\t\t\treturn this.pbf.formatNumber(el.format[0].selectedFormat);\r\n\t\t\t} else return this.dashboardPorletsService.formatNumber(el.dp);\r\n\t\t}\r\n\t\tif (el.dataType === \"percent\") {\r\n\t\t\tif (el.format && el.format.length && el.format[0].formatChecked)\r\n\t\t\t\treturn this.pbf.formatPercent(el.format[0].selectedFormat);\r\n\t\t\telse return this.dashboardPorletsService.formatPercent(el.dp);\r\n\t\t}\r\n\t\tif (el.dataType === \"percentNum\")\r\n\t\t\treturn this.dashboardPorletsService.formatPercentNum(el.dp);\r\n\t\tif (el.dataType === \"multiple\")\r\n\t\t\treturn this.dashboardPorletsService.formatMultiple(el.dp);\r\n\t}\r\n\r\n\tprivate millionData(colName) {\r\n\t\tthis.millionFields.push(colName);\r\n\t\tif (this.config.filterSettings && this.config.filterSettings.length) {\r\n\t\t\tlet filterFields = this.config.filterSettings.map((el) => {\r\n\t\t\t\treturn el.field;\r\n\t\t\t});\r\n\t\t\tif (filterFields.includes(colName))\r\n\t\t\t\tthis.config.filterSettings.map((el) => {\r\n\t\t\t\t\tif (el.field == colName) {\r\n\t\t\t\t\t\tel.value = Number(el.value / 1000000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic getAlign(table) {\r\n\t\tif (\r\n\t\t\ttable.format &&\r\n\t\t\ttable.format.length &&\r\n\t\t\ttable.format[0].formatChecked\r\n\t\t)\r\n\t\t\treturn table.format[0].align;\r\n\t\treturn [\"date\", \"datetime\", \"string\", \"nvarchar\", \"dropdown\"].includes(\r\n\t\t\ttable.dataType\r\n\t\t) &&\r\n\t\t\t![\"MOIC\", \"DPI\", \"TVPI\", \"RVPI\", \"PIC\", \"Multiple\"].includes(\r\n\t\t\t\ttable.colName\r\n\t\t\t)\r\n\t\t\t? \"Left\"\r\n\t\t\t: \"Right\";\r\n\t}\r\n\r\n\tpublic pageChanged(args: any) {\r\n\t\tif (args.newProp) {\r\n\t\t\t// 处理分页器点击事件\r\n\t\t\tlet pageSize = args.newProp.pageSize;\r\n\t\t\tif (pageSize) {\r\n\t\t\t\tthis.pageSize = pageSize;\r\n\t\t\t\tthis.config.pvPageSize = pageSize;\r\n\t\t\t\tthis.portlet.config = JSON.stringify(this.config);\r\n\t\t\t\tthis.currentPage = 1;\r\n\t\t\t} else {\r\n\t\t\t\tthis.currentPage = args.newProp.currentPage;\r\n\t\t\t}\r\n\t\t\tif (this.totalRecordsCount >= 50 && this.pageSize > 10) {\r\n\t\t\t\tthis.enableVirtualization = true;\r\n\t\t\t} else {\r\n\t\t\t\tthis.enableVirtualization = false;\r\n\t\t\t}\r\n\t\t\tthis.reloadTableData(\r\n\t\t\t\t{\r\n\t\t\t\t\tpage: this.currentPage,\r\n\t\t\t\t\tsize: this.pageSize,\r\n\t\t\t\t\tsortedColumn:\r\n\t\t\t\t\t\tthis.sortedColumn === null\r\n\t\t\t\t\t\t\t? undefined\r\n\t\t\t\t\t\t\t: this.sortedColumn,\r\n\t\t\t\t\tsort: this.sort === null ? undefined : this.sort,\r\n\t\t\t\t},\r\n\t\t\t\ttrue\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic reloadTableData(setting: any = {}, refreshFormat?) {\r\n\t\tlet params: any = {};\r\n\t\tif (setting.page && setting.size) {\r\n\t\t\tparams.currentPage = setting.page;\r\n\t\t\tparams.pageSize = setting.size;\r\n\t\t}\r\n\t\tif (setting.sortedColumn) {\r\n\t\t\tparams.sortedColumn = setting.sortedColumn;\r\n\t\t\tparams.sort = setting.sort;\r\n\t\t}\r\n\t\tthis.pageLoading = true;\r\n\t\tthis.dashboardPorletsService.getDataByPortletsNew(\r\n\t\t\t[this.portlet],\r\n\t\t\t() => {\r\n\t\t\t\tthis.pageLoading = false;\r\n\t\t\t\tconst data = this.dashboardPorletsService.getResultByDataTable(\r\n\t\t\t\t\tthis.portlet,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t\tthis.dashboard.id\r\n\t\t\t\t);\r\n\r\n\t\t\t\t// 获取所有日期类型的字段\r\n\t\t\t\tconst dateFields = this.configFields\r\n\t\t\t\t\t? this.configFields\r\n\t\t\t\t\t\t\t.filter(\r\n\t\t\t\t\t\t\t\t(field) =>\r\n\t\t\t\t\t\t\t\t\tfield.dataType === \"date\" ||\r\n\t\t\t\t\t\t\t\t\tfield.dataType === \"datetime\"\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t.map((field) => field.colName)\r\n\t\t\t\t\t: [];\r\n\r\n\t\t\t\tthis.data = data.map((item) => {\r\n\t\t\t\t\tconst newItem = {\r\n\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\tMOIC: `${Number(item[\"MOIC\"]).toFixed(2)}x`,\r\n\t\t\t\t\t\tDPI: `${Number(item[\"DPI\"]).toFixed(2)}x`,\r\n\t\t\t\t\t\tTVPI: `${Number(item[\"TVPI\"]).toFixed(2)}x`,\r\n\t\t\t\t\t\tRVPI: `${Number(item[\"RVPI\"]).toFixed(2)}x`,\r\n\t\t\t\t\t\tPIC: `${Number(item[\"PIC\"]).toFixed(2)}x`,\r\n\t\t\t\t\t\tMultiple: `${Number(item[\"Multiple\"]).toFixed(2)}x`,\r\n\t\t\t\t\t};\r\n\t\t\t\t\t// 转换日期字段：将 UTC 时间字符串转换为本地时区的日期字符串\r\n\t\t\t\t\tdateFields.forEach((fieldName) => {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tnewItem[fieldName] &&\r\n\t\t\t\t\t\t\ttypeof newItem[fieldName] === \"string\" &&\r\n\t\t\t\t\t\t\tnewItem[fieldName].indexOf(\"T\") !== -1\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tnewItem[fieldName] = this.pbf.setUTCtoString(\r\n\t\t\t\t\t\t\t\tnewItem[fieldName]\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn newItem;\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// if (this.tableList && this.tableList.length) {\r\n\t\t\t\t// \tconst typeMap = {};\r\n\t\t\t\t// \tthis.tableList.forEach((col) => {\r\n\t\t\t\t// \t\tif (col.dataType === \"number\") {\r\n\t\t\t\t// \t\t\ttypeMap[col.colName] = true;\r\n\t\t\t\t// \t\t}\r\n\t\t\t\t// \t});\r\n\t\t\t\t// \tthis.data.forEach((_data) => {\r\n\t\t\t\t// \t\tObject.keys(typeMap).forEach((key) => {\r\n\t\t\t\t// \t\t\t_data[key] =\r\n\t\t\t\t// \t\t\t\t_data[key] === null\r\n\t\t\t\t// \t\t\t\t\t? null\r\n\t\t\t\t// \t\t\t\t\t: this.pbf.bankersRounding(\r\n\t\t\t\t// \t\t\t\t\t\t\tNumber(_data[key])\r\n\t\t\t\t// \t\t\t\t\t  );\r\n\t\t\t\t// \t\t});\r\n\t\t\t\t// \t});\r\n\t\t\t\t// }\r\n\r\n\t\t\t\tthis.totalRecordsCount =\r\n\t\t\t\t\tthis.dashboardPorletsService.getResultByDataTable(\r\n\t\t\t\t\t\tthis.portlet,\r\n\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\tthis.dashboard.id\r\n\t\t\t\t\t);\r\n\t\t\t\tthis.tableList = [...this.configFields];\r\n\t\t\t\tthis.tableList = this.tableList.filter((fl) => !fl.isHidden);\r\n\r\n\t\t\t\tthis.tableList = this.tableList.map((item) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\tdataType: [\r\n\t\t\t\t\t\t\t\"MOIC\",\r\n\t\t\t\t\t\t\t\"DPI\",\r\n\t\t\t\t\t\t\t\"TVPI\",\r\n\t\t\t\t\t\t\t\"RVPI\",\r\n\t\t\t\t\t\t\t\"PIC\",\r\n\t\t\t\t\t\t\t\"Multiple\",\r\n\t\t\t\t\t\t].includes(item.colName)\r\n\t\t\t\t\t\t\t? \"string\"\r\n\t\t\t\t\t\t\t: item[\"dataType\"],\r\n\t\t\t\t\t};\r\n\t\t\t\t});\r\n\t\t\t\tconst typeMap = {};\r\n\t\t\t\tthis.tableList.forEach((col) => {\r\n\t\t\t\t\tif (col.dataType === \"number\") {\r\n\t\t\t\t\t\ttypeMap[col.colName] = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tthis.data.forEach((_data) => {\r\n\t\t\t\t\tObject.keys(typeMap).forEach((key) => {\r\n\t\t\t\t\t\t_data[key] =\r\n\t\t\t\t\t\t\t_data[key] === null\r\n\t\t\t\t\t\t\t\t? null\r\n\t\t\t\t\t\t\t\t: this.pbf.bankersRounding(\r\n\t\t\t\t\t\t\t\t\t\tNumber(_data[key]),\r\n\t\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\ttrue\r\n\t\t\t\t\t\t\t\t  );\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\tif (this.grid) {\r\n\t\t\t\t\tif (refreshFormat) {\r\n\t\t\t\t\t\tthis.grid.columns.forEach((item) => {\r\n\t\t\t\t\t\t\titem.format = this.getFormatOptions(item.field);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tif (this.grid.contentModule) {\r\n\t\t\t\t\t\t\tthis.grid.refreshColumns();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.grid.refresh();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.ref.markForCheck();\r\n\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t},\r\n\t\t\tparams,\r\n\t\t\tfalse,\r\n\t\t\tthis.dashboard\r\n\t\t);\r\n\t}\r\n\r\n\tgetXTxt(colName, item) {\r\n\t\tif (colName == \"MOIC\") {\r\n\t\t\treturn `${Number(item[\"MOIC\"]).toFixed(2)}x`;\r\n\t\t} else if (colName == \"DPI\") {\r\n\t\t\treturn `${Number(item[\"DPI\"]).toFixed(2)}x`;\r\n\t\t} else if (colName == \"TVPI\") {\r\n\t\t\treturn `${Number(item[\"TVPI\"]).toFixed(2)}x`;\r\n\t\t} else if (colName == \"RVPI\") {\r\n\t\t\treturn `${Number(item[\"RVPI\"]).toFixed(2)}x`;\r\n\t\t} else if (colName == \"PIC\") {\r\n\t\t\treturn `${Number(item[\"PIC\"]).toFixed(2)}x`;\r\n\t\t} else if (colName == \"Multiple\") {\r\n\t\t\treturn `${Number(item[\"Multiple\"]).toFixed(2)}x`;\r\n\t\t}\r\n\t}\r\n\tpublic cellClick(args) {\r\n\t\tconst id = args.cell.getAttribute(\"data-fundid\");\r\n\t\tif (id) {\r\n\t\t\t// 跳转至\r\n\t\t\tthis.linkClick(id);\r\n\t\t}\r\n\t}\r\n\tlinkClick(id) {\r\n\t\tif (!id) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (\r\n\t\t\tthis.config &&\r\n\t\t\tthis.config.redirectObject &&\r\n\t\t\tthis.config.redirectObject instanceof Object\r\n\t\t) {\r\n\t\t\tthis.pbf.pageLoading = true;\r\n\t\t\tthis.pbf.pageLoading_.next(true);\r\n\t\t\tthis.config.redirectObject.entity = id;\r\n\t\t\tlet {\r\n\t\t\t\tdashboardName,\r\n\t\t\t\tobject,\r\n\t\t\t\tdashboardGroupId,\r\n\t\t\t\tdashboardGroupName,\r\n\t\t\t\tRegionDataSetId,\r\n\t\t\t} = this.config.redirectObject;\r\n\t\t\tif (\r\n\t\t\t\tthis.dashboardPorletsService.allDashboardList[this.dashboard.id]\r\n\t\t\t) {\r\n\t\t\t\tthis.dashboardPorletsService.allDashboardList[\r\n\t\t\t\t\tthis.dashboard.id\r\n\t\t\t\t].forEach((dashboard) => {\r\n\t\t\t\t\tif (dashboard.code === object) {\r\n\t\t\t\t\t\tdashboardName = dashboard.text || dashboardName;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tthis.dashboardService.dashboardGroupId[object] = dashboardGroupId;\r\n\t\t\tthis.dashboardService.dashboardGroupName[object] =\r\n\t\t\t\tdashboardGroupName;\r\n\t\t\tthis.dashboardService.RegionDataSetId[object] = RegionDataSetId;\r\n\t\t\tthis.dashboardService.dashboardName[object] = dashboardName;\r\n\t\t\tconst redirectObject = {\r\n\t\t\t\t...this.config.redirectObject,\r\n\t\t\t};\r\n\t\t\tif (!redirectObject.currency) {\r\n\t\t\t\tredirectObject.currency = this.dashboard.currencyCode;\r\n\t\t\t}\r\n\t\t\tif (!redirectObject.date) {\r\n\t\t\t\tredirectObject.date = this.dashboard.asOfDate;\r\n\t\t\t}\r\n\t\t\tthis.dashboardService.initTemplate = cloneDeep(redirectObject);\r\n\t\t\tthis.dashboardPorletsService.getInfo();\r\n\t\t\tif (object === this.dashboard.id) {\r\n\t\t\t\tthis.dashboardService.updateDatamartEntity.next(this.dashboard);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis.pbf.setSessionStorage(\"navigationInfo\", {\r\n\t\t\t\tname: dashboardName,\r\n\t\t\t\ttitle: dashboardName,\r\n\t\t\t});\r\n\r\n\t\t\tconst uuid = this.pbf.getUuid(object);\r\n\t\t\tthis.pbf.setUrlId(uuid, object);\r\n\t\t\tthis.router.navigate([\"/pages/dashboard/dashboardDetail\", uuid], {\r\n\t\t\t\tqueryParams: {\r\n\t\t\t\t\tdashboardType: \"customized\",\r\n\t\t\t\t\ttemplate: true,\r\n\t\t\t\t},\r\n\t\t\t\tstate: { noReused: true },\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n","<div\r\n\t#gadgetTableContainer\r\n\tclass=\"control-section gadget-table\"\r\n\tstyle=\"height: 100%\"\r\n\t[ngClass]=\"{ showHightlight: showHightlight, customized: customized }\"\r\n>\r\n\t<ejs-grid\r\n\t\t*ngIf=\"!hideTable\"\r\n\t\t#grid\r\n\t\t[dataSource]=\"data\"\r\n\t\t[allowSorting]=\"true\"\r\n\t\twidth=\"100%\"\r\n\t\t[height]=\"tableHeight\"\r\n\t\t[resizeSettings]=\"{ mode: 'Auto' }\"\r\n\t\t[allowExcelExport]=\"true\"\r\n\t\t[filterSettings]=\"filterSettings\"\r\n\t\t[allowResizing]=\"true\"\r\n\t\tshowColumnChooser=\"true\"\r\n\t\t[columnChooserSettings]=\"ColumnChooserSettings\"\r\n\t\t[aggregates]=\"aggregates\"\r\n\t\t(queryCellInfo)=\"customiseCell($event)\"\r\n\t\t(resizeStop)=\"resizeStop($event)\"\r\n\t\t(rowDataBound)=\"rowDataBound($event)\"\r\n\t\t(created)=\"created($event)\"\r\n\t\t(actionBegin)=\"actionBegin($event)\"\r\n\t\t(actionComplete)=\"actionComplete($event)\"\r\n\t\t(excelQueryCellInfo)=\"exportQueryCellInfo($event)\"\r\n\t\t(recordClick)=\"cellClick($event)\"\r\n\t\t(dataBound)=\"dataBound()\"\r\n\t\t[enableVirtualization]=\"enableVirtualization\"\r\n\t>\r\n\t\t<e-columns>\r\n\t\t\t<e-column\r\n\t\t\t\t*ngIf=\"getLogoInfo('logoDocId', 'langValue')\"\r\n\t\t\t\t[headerText]=\"getLogoInfo('logoDocId', 'langValue')\"\r\n\t\t\t\twidth=\"120\"\r\n\t\t\t\ttextAlign=\"Center\"\r\n\t\t\t\t[visible]=\"!getLogoInfo('logoDocId', 'isHidden')\"\r\n\t\t\t>\r\n\t\t\t\t<ng-template #template let-data>\r\n\t\t\t\t\t<div class=\"image-\">\r\n\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t[src]=\"getLogoImage(data.logoDocId)\"\r\n\t\t\t\t\t\t\t[alt]=\"data.companyName\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</e-column>\r\n\t\t\t<e-column\r\n\t\t\t\t*ngFor=\"let table of tableList\"\r\n\t\t\t\t[field]=\"table.colName\"\r\n\t\t\t\t[filter]=\"filter\"\r\n\t\t\t\t[headerText]=\"\r\n\t\t\t\t\t(table.displayName\r\n\t\t\t\t\t\t? table.displayName\r\n\t\t\t\t\t\t: translation[table.langCode]\r\n\t\t\t\t\t\t? translation[table.langCode]\r\n\t\t\t\t\t\t: table.langValue) +\r\n\t\t\t\t\t(table.addtionName ? ' ' + table.addtionName : '')\r\n\t\t\t\t\"\r\n\t\t\t\t[width]=\"table.width ? table.width : 200\"\r\n\t\t\t\tclipMode=\"EllipsisWithTooltip\"\r\n\t\t\t\t[visible]=\"table.visible\"\r\n\t\t\t\t[textAlign]=\"getAlign(table)\"\r\n\t\t\t\t[type]=\"\r\n\t\t\t\t\t['number', 'percentNum', 'percent'].includes(table.dataType)\r\n\t\t\t\t\t\t? 'number'\r\n\t\t\t\t\t\t: ['datetime'].includes(table.dataType)\r\n\t\t\t\t\t\t? 'date'\r\n\t\t\t\t\t\t: null\r\n\t\t\t\t\"\r\n\t\t\t\t[format]=\"getFormatOptions(table.colName)\"\r\n\t\t\t>\r\n\t\t\t<ng-template\r\n\t\t\t\t#template\r\n\t\t\t\tlet-data\r\n\t\t\t>\r\n\t\t\t\t<span *ngIf=\"millionFields.includes(table.colName); else elseBlock\">\r\n\t\t\t\t\t{{ data[table.colName] / 1000000 }}\r\n\t\t\t\t</span>\r\n\t\t\t\t<ng-template #elseBlock>{{\r\n\t\t\t\t\tdata[table.colName]\r\n\t\t\t\t}}</ng-template>\r\n\t\t\t</ng-template>\r\n\r\n\t\t\t\t<!-- terms列 显示换行符 -->\r\n\t\t\t\t<ng-template\r\n\t\t\t\t\t#template\r\n\t\t\t\t\tlet-data\r\n\t\t\t\t\t*ngIf=\"table.colName == 'terms'\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tstyle=\"white-space: pre-line\"\r\n\t\t\t\t\t\t[innerHTML]=\"data[table.colName]\"\r\n\t\t\t\t\t></div>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</e-column>\r\n\t\t</e-columns>\r\n\t</ejs-grid>\r\n\t<ejs-pager\r\n\t\t#pager\r\n\t\t[currentPage]=\"currentPage\"\r\n\t\t[pageCount]=\"5\"\r\n\t\t[pageSize]=\"pageSize\"\r\n\t\t[pageSizes]=\"[10, 50, 100]\"\r\n\t\t[totalRecordsCount]=\"totalRecordsCount\"\r\n\t\t(click)=\"pageChanged($event)\"\r\n\t>\r\n\t</ejs-pager>\r\n\t<div class=\"full-box-mask\" *ngIf=\"pageLoading\">\r\n\t\t<mat-spinner\r\n\t\t\tstyle=\"z-index: 999\"\r\n\t\t\tmode=\"indeterminate\"\r\n\t\t\t[diameter]=\"24\"\r\n\t\t></mat-spinner>\r\n\t</div>\r\n</div>\r\n","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tInput,\r\n\tViewChild,\r\n\tChangeDetectorRef,\r\n\tOptional,\r\n\tInject,\r\n} from \"@angular/core\";\r\nimport { DashboardPorletsService } from \"../../dashboardPorlets.service\";\r\nimport {\r\n\tPageSettingsModel,\r\n\tGridComponent,\r\n\tQueryCellInfoEventArgs,\r\n\tColumnChooserService,\r\n\tExcelExportService,\r\n\tColumnChooserSettingsModel,\r\n\tVirtualScrollService,\r\n} from \"@syncfusion/ej2-angular-grids\";\r\nimport { DashboardService } from \"../../dashboard.service\";\r\nimport moment from \"moment\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { PBF_TOKEN } from \"../../../service/InjectionToken\";\r\nimport { getTranslation } from \"../../../utils/utils\";\r\n\r\n@Component({\r\n\tselector: \"kt-gadget-transpose\",\r\n\ttemplateUrl: \"./gadget-transpose.component.html\",\r\n\tstyleUrls: [\"./gadget-transpose.component.scss\"],\r\n\tproviders: [ExcelExportService, ColumnChooserService, VirtualScrollService],\r\n})\r\nexport class GadgetTransposeComponent implements OnInit {\r\n\t@Input() portlet;\r\n\t@Input() portlets;\r\n\t@Input() dashboard;\r\n\t@ViewChild(\"grid\", { static: false }) public grid: GridComponent;\r\n\tprivate translation;\r\n\tprivate userInfo;\r\n\tpublic datePipeFormat;\r\n\tpublic fields = [];\r\n\tpublic data;\r\n\tpublic pageSettings: PageSettingsModel;\r\n\tpublic pageLoading = false;\r\n\t// public filterSettings: FilterSettingsModel;\r\n\tpublic filter: Object;\r\n\tpublic rowMode: string;\r\n\tprivate formatSettings = [];\r\n\tprivate config;\r\n\tprivate tranposeData;\r\n\tprivate subscriptions: Subscription[] = [];\r\n\tprivate quarterFormat = [\r\n\t\t{ value: \"03/2021\", format: \"MM/yyyy\" },\r\n\t\t{ value: \"03/21\", format: \"MM/dd\" },\r\n\t\t{ value: \"3/2021\", format: \"M/yyyy\" },\r\n\t\t{ value: \"3/21\", format: \"M/yy\" },\r\n\t\t{ value: \"March 2021\", format: \"MMMM yyyy\" },\r\n\t\t{ value: \"Mar, 2021\", format: \"MMM, yyyy\" },\r\n\t\t{ value: \"March, 2021\", format: \"MMMM, yyyy\" },\r\n\t\t{ value: \"2021\", format: \"yyyy\" },\r\n\t];\r\n\tprivate formatDates = [];\r\n\tpublic ColumnChooserSettings: ColumnChooserSettingsModel;\r\n\r\n\tconstructor(\r\n\t\tprivate DashboardPorletsService: DashboardPorletsService,\r\n\t\tpublic dashboardService: DashboardService,\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\t@Optional() @Inject(PBF_TOKEN) public pbf: any\r\n\t) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.getInfo();\r\n\t\tthis.pageSettings = { pageSizes: true, pageSize: 20 };\r\n\t\tthis.ColumnChooserSettings = { operator: \"contains\" };\r\n\t\tthis.filter = { type: \"CheckBox\" };\r\n\t\tthis.rowMode = \"Vertical\";\r\n\t\tthis.getTableData();\r\n\t}\r\n\tngAfterViewInit() {\r\n\t\tthis.subscriptions.push(\r\n\t\t\tthis.dashboardService.getUpdated().subscribe((newId) => {\r\n\t\t\t\tif (newId === this.portlet.newId || newId === this.portlet.id) {\r\n\t\t\t\t\tthis.getTableData();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t\tthis.subscriptions.push(\r\n\t\t\tthis.dashboardService.getStartRefresh().subscribe((dashboardId) => {\r\n\t\t\t\tif (this.dashboard.id === dashboardId) {\r\n\t\t\t\t\tthis.pageLoading = true;\r\n\t\t\t\t\tthis.ref.markForCheck();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis.subscriptions.push(\r\n\t\t\tthis.dashboardService.getRefreshGadget().subscribe((e) => {\r\n\t\t\t\tif (!e || e[\"dashboardId\"] !== this.dashboard.id) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tconst id = e[\"newId\"];\r\n\t\t\t\tif (id === this.portlet.newId || id === this.portlet.id) {\r\n\t\t\t\t\tthis.getTableData();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t\tthis.subscriptions.push(\r\n\t\t\tthis.dashboardService.getTableFormat().subscribe((id) => {\r\n\t\t\t\tif (id === this.portlet.newId || id === this.portlet.id) {\r\n\t\t\t\t\tthis.getTableData();\r\n\t\t\t\t\tthis.grid.columns.forEach((item) => {\r\n\t\t\t\t\t\tthis.fields.forEach((table) => {\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\titem.field === table.colName &&\r\n\t\t\t\t\t\t\t\ttable.format &&\r\n\t\t\t\t\t\t\t\ttable.format.length &&\r\n\t\t\t\t\t\t\t\ttable.format[0].formatChecked\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\titem.headerText =\r\n\t\t\t\t\t\t\t\t\ttable.displayName ||\r\n\t\t\t\t\t\t\t\t\ttable.langValue ||\r\n\t\t\t\t\t\t\t\t\tthis.translation[table.langCode] ||\r\n\t\t\t\t\t\t\t\t\ttable.langCode;\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\ttable.format &&\r\n\t\t\t\t\t\t\t\t\t(table.dataType === \"number\" ||\r\n\t\t\t\t\t\t\t\t\t\ttable.dataType === \"percent\")\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\tlet formatString;\r\n\t\t\t\t\t\t\t\t\tif (table.dataType === \"number\") {\r\n\t\t\t\t\t\t\t\t\t\tformatString = this.pbf.formatNumber(\r\n\t\t\t\t\t\t\t\t\t\t\ttable.format[0].selectedFormat\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t} else if (table.dataType === \"percent\") {\r\n\t\t\t\t\t\t\t\t\t\tformatString = this.pbf.formatPercent(\r\n\t\t\t\t\t\t\t\t\t\t\ttable.format[0].selectedFormat\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\titem.format = formatString;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.grid.refreshColumns();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\r\n\t}\r\n\r\n\tprivate getTableData() {\r\n\t\tthis.pageLoading = false;\r\n\t\tthis.config = JSON.parse(this.portlet.config);\r\n\t\tif (this.config.fields) {\r\n\t\t\tlet fields = this.config.fields.filter((fl) => !fl.isHidden);\r\n\t\t\tconst fieldsCopy = JSON.parse(JSON.stringify(fields));\r\n\t\t\tif (fieldsCopy.length) {\r\n\t\t\t\tlet _index = 0;\r\n\t\t\t\tthis.fields = fieldsCopy.map((el) => {\r\n\t\t\t\t\t// 处理format的displayName，之前未赋值\r\n\t\t\t\t\tlet displayName = \"\";\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tArray.isArray(el.format) &&\r\n\t\t\t\t\t\tel.format.length > 0 &&\r\n\t\t\t\t\t\tel.format[0].formatChecked\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tdisplayName = el.format[0].displayName;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (el.visible) {\r\n\t\t\t\t\t\t_index += 1;\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...el,\r\n\t\t\t\t\t\t\t_index,\r\n\t\t\t\t\t\t\tdisplayName,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...el,\r\n\t\t\t\t\t\t\t_index: null,\r\n\t\t\t\t\t\t\tdisplayName,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.tranposeData =\r\n\t\t\tthis.DashboardPorletsService.getResultByDataTable(\r\n\t\t\t\tthis.portlet,\r\n\t\t\t\tfalse,\r\n\t\t\t\tfalse,\r\n\t\t\t\tthis.dashboard.id\r\n\t\t\t) || [];\r\n\t\tthis.tranposeData = [...this.tranposeData];\r\n\t\tif (this.tranposeData && this.tranposeData.length)\r\n\t\t\tthis.filterData((res) => {\r\n\t\t\t\tif (this.config && this.fields && this.fields.length) {\r\n\t\t\t\t\tthis.formatSettings = [];\r\n\t\t\t\t\tthis.fields.map((el) => {\r\n\t\t\t\t\t\tlet numberTypes = [\r\n\t\t\t\t\t\t\t\"number\",\r\n\t\t\t\t\t\t\t\"percent\",\r\n\t\t\t\t\t\t\t\"percentNum\",\r\n\t\t\t\t\t\t\t\"multiple\",\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tif (numberTypes.includes(el.dataType)) {\r\n\t\t\t\t\t\t\tlet format = this.getNumFormat(el);\r\n\t\t\t\t\t\t\tconst formatData = {\r\n\t\t\t\t\t\t\t\tname: el.colName,\r\n\t\t\t\t\t\t\t\tformat: format,\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t// if (el.dataType === \"number\")\r\n\t\t\t\t\t\t\t// \tformatData[\"useGrouping\"] = true;\r\n\t\t\t\t\t\t\tthis.formatSettings.push(formatData);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tel.dataType == \"datetime\" ||\r\n\t\t\t\t\t\t\tel.dataType == \"date\"\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tlet format = \"\";\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tel.format &&\r\n\t\t\t\t\t\t\t\tel.format.length &&\r\n\t\t\t\t\t\t\t\tel.format[0].formatChecked\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\tif (el.format[0].dateType == \"Quarter\") {\r\n\t\t\t\t\t\t\t\t\tlet format_ =\r\n\t\t\t\t\t\t\t\t\t\tel.format[0].selectedFormatDisplay;\r\n\t\t\t\t\t\t\t\t\tlet formatInfo = this.quarterFormat.filter(\r\n\t\t\t\t\t\t\t\t\t\t(qur) => qur.value == format_\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tif (formatInfo.length) {\r\n\t\t\t\t\t\t\t\t\t\tformat = formatInfo[0].format;\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tconst formatData = {\r\n\t\t\t\t\t\t\t\t\t\t\tname: el.colName,\r\n\t\t\t\t\t\t\t\t\t\t\tformat: format_,\r\n\t\t\t\t\t\t\t\t\t\t\ttype: \"date\",\r\n\t\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\t\tthis.formatDates.push(formatData);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} else if (el.format[0].dateType == \"Date\") {\r\n\t\t\t\t\t\t\t\t\tlet fromIdx =\r\n\t\t\t\t\t\t\t\t\t\tel.format[0].selectedFormatDisplay.indexOf(\r\n\t\t\t\t\t\t\t\t\t\t\t\"(\"\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tlet toIdx =\r\n\t\t\t\t\t\t\t\t\t\tel.format[0].selectedFormatDisplay.indexOf(\r\n\t\t\t\t\t\t\t\t\t\t\t\")\"\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tlet format_ =\r\n\t\t\t\t\t\t\t\t\t\tel.format[0].selectedFormatDisplay.slice(\r\n\t\t\t\t\t\t\t\t\t\t\tfromIdx + 1,\r\n\t\t\t\t\t\t\t\t\t\t\ttoIdx\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tswitch (format_) {\r\n\t\t\t\t\t\t\t\t\t\tcase \"DD/MM/YYYY\":\r\n\t\t\t\t\t\t\t\t\t\t\tformat = \"dd/MM/yyyy\";\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase \"DD/MM/YY\":\r\n\t\t\t\t\t\t\t\t\t\t\tformat = \"dd/MM/yy\";\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase \"MM/DD/YYYY\":\r\n\t\t\t\t\t\t\t\t\t\t\tformat = \"MM/dd/yyyy\";\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase \"MM/DD/YY\":\r\n\t\t\t\t\t\t\t\t\t\t\tformat = \"MM/dd/yy\";\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase \"YYYY-MM-DD\":\r\n\t\t\t\t\t\t\t\t\t\t\tformat = \"yyyy-MM-dd\";\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase \"YY-MM-DD\":\r\n\t\t\t\t\t\t\t\t\t\t\tformat = \"yy-MM-dd\";\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase \"DD-MM-YYYY\":\r\n\t\t\t\t\t\t\t\t\t\t\tformat = \"dd-MM-yyyy\";\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase \"DD-MM-YY\":\r\n\t\t\t\t\t\t\t\t\t\t\tformat = \"dd-MM-yy\";\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase \"MM-DD-YYYY\":\r\n\t\t\t\t\t\t\t\t\t\t\tformat = \"MM-dd-yyyy\";\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase \"MM-DD-YY\":\r\n\t\t\t\t\t\t\t\t\t\t\tformat = \"MM-dd-yy\";\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase \"MMM DD, YYYY\":\r\n\t\t\t\t\t\t\t\t\t\t\tformat = \"MMM dd, yyyy\";\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase \"DD-MMM-YYYY\":\r\n\t\t\t\t\t\t\t\t\t\t\tformat = \"dd-MMM-yyyy\";\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (!format) {\r\n\t\t\t\t\t\t\t\tconst formatData = {\r\n\t\t\t\t\t\t\t\t\tname: el.colName,\r\n\t\t\t\t\t\t\t\t\tformat: this.datePipeFormat,\r\n\t\t\t\t\t\t\t\t\ttype: \"date\",\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tthis.formatSettings.push(formatData);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tconst formatData = {\r\n\t\t\t\t\t\t\t\t\tname: el.colName,\r\n\t\t\t\t\t\t\t\t\tformat: format,\r\n\t\t\t\t\t\t\t\t\ttype: \"date\",\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tthis.formatSettings.push(formatData);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif (this.grid) this.grid.refresh();\r\n\t\t\t\tthis.ref.markForCheck();\r\n\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate filterData(callback) {\r\n\t\tthis.data = [];\r\n\t\tif (this.config.filterSettings && this.config.filterSettings.length) {\r\n\t\t\tif (this.tranposeData) {\r\n\t\t\t\tlet dataType = this.fields.filter(\r\n\t\t\t\t\t(el) => el.colName == this.config.filterSettings[0].field\r\n\t\t\t\t).length\r\n\t\t\t\t\t? this.fields.filter(\r\n\t\t\t\t\t\t\t(el) =>\r\n\t\t\t\t\t\t\t\tel.colName ==\r\n\t\t\t\t\t\t\t\tthis.config.filterSettings[0].field\r\n\t\t\t\t\t  )[0].dataType\r\n\t\t\t\t\t: \"\";\r\n\t\t\t\tlet transpose_data = [];\r\n\t\t\t\tif (dataType == \"date\" || dataType == \"datetime\") {\r\n\t\t\t\t\ttranspose_data = this.tranposeData.filter(\r\n\t\t\t\t\t\t(el) =>\r\n\t\t\t\t\t\t\tmoment(\r\n\t\t\t\t\t\t\t\tel[this.config.filterSettings[0].field]\r\n\t\t\t\t\t\t\t).format(\"YYYY-MM-DD\") ==\r\n\t\t\t\t\t\t\tmoment(this.config.filterSettings[0].value).format(\r\n\t\t\t\t\t\t\t\t\"YYYY-MM-DD\"\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttranspose_data = this.tranposeData.filter(\r\n\t\t\t\t\t\t(el) =>\r\n\t\t\t\t\t\t\tel[this.config.filterSettings[0].field] ==\r\n\t\t\t\t\t\t\tthis.config.filterSettings[0].value\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tif (transpose_data.length) {\r\n\t\t\t\t\tthis.data.push(transpose_data[0]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.data.push(this.tranposeData[0]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.data.push(this.tranposeData[0]);\r\n\t\t}\r\n\t\t// if (this.grid) this.grid.refresh();\r\n\t\tcallback();\r\n\t}\r\n\r\n\tprivate getInfo() {\r\n\t\tthis.translation = getTranslation();\r\n\t\tthis.datePipeFormat = localStorage.getItem(\"datePipe\");\r\n\t}\r\n\tgetFormatOptions(colName) {\r\n\t\t// console.log('this.formatSettings', this.formatSettings);\r\n\r\n\t\tlet res = this.formatSettings.filter((el) => el.name === colName);\r\n\t\tif (res && res.length) {\r\n\t\t\t// let obj = JSON.parse(JSON.stringify(res[0]));\r\n\t\t\t// delete obj.name;\r\n\t\t\t// return obj;\r\n\t\t\treturn res[0].format;\r\n\t\t}\r\n\t}\r\n\r\n\tcustomiseCell(args: QueryCellInfoEventArgs) {\r\n\t\tlet queryCell = this.fields.filter(\r\n\t\t\t(item) => item.colName === args.column.field\r\n\t\t)[0];\r\n\t\tif (\r\n\t\t\tqueryCell &&\r\n\t\t\tqueryCell.format &&\r\n\t\t\tqueryCell.format.length &&\r\n\t\t\tqueryCell.format[0].formatChecked\r\n\t\t) {\r\n\t\t\t// SMP2-3416 0的format start\r\n\t\t\tif (\r\n\t\t\t\t[2, 5, 8, 11, 14, 17].includes(\r\n\t\t\t\t\tqueryCell.format[0].selectedFormat\r\n\t\t\t\t) &&\r\n\t\t\t\targs.data[queryCell.colName] === 0\r\n\t\t\t)\r\n\t\t\t\targs.cell.innerHTML = \"-\";\r\n\t\t\tif (\r\n\t\t\t\t[3, 6, 9, 12, 15, 18].includes(\r\n\t\t\t\t\tqueryCell.format[0].selectedFormat\r\n\t\t\t\t) &&\r\n\t\t\t\targs.data[queryCell.colName] === 0\r\n\t\t\t)\r\n\t\t\t\targs.cell.innerHTML = \"\";\r\n\t\t\t// SMP2-3416 0的format end\r\n\t\t}\r\n\t\tif (queryCell && queryCell._index) {\r\n\t\t\tif (queryCell._index === 1) {\r\n\t\t\t\targs.cell.classList.add(\"first-cell\");\r\n\t\t\t}\r\n\t\t\t// args.cell.classList.add(\r\n\t\t\t// \t`${queryCell._index % 2 === 0 ? \"even\" : \"odd\"}`\r\n\t\t\t// );\r\n\t\t\tthis.ref.markForCheck();\r\n\t\t}\r\n\t\tif (\r\n\t\t\tqueryCell &&\r\n\t\t\tqueryCell.format &&\r\n\t\t\tqueryCell.format.length &&\r\n\t\t\tqueryCell.format[0].fontSettingChecked\r\n\t\t) {\r\n\t\t\tif (\r\n\t\t\t\tqueryCell.format[0].formatChecked &&\r\n\t\t\t\tqueryCell.format[0].compareSelect\r\n\t\t\t) {\r\n\t\t\t\tlet cellData = args.data[args.column.field];\r\n\t\t\t\tlet condition: Boolean = false;\r\n\t\t\t\tswitch (queryCell.format[0].compareSelect) {\r\n\t\t\t\t\tcase \"LessThan\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData <\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"LessThanOrEqualTo\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData <=\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"GreaterThan\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData >\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"GreaterThanOrEqualTo\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData >=\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"Equals\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData ===\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"NotEquals\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData !==\r\n\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"Between\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData >=\r\n\t\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1) &&\r\n\t\t\t\t\t\t\tcellData <= queryCell.format[0].compareValue2;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"NotBetween\":\r\n\t\t\t\t\t\tcondition =\r\n\t\t\t\t\t\t\tcellData <\r\n\t\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue1) &&\r\n\t\t\t\t\t\t\tcellData >\r\n\t\t\t\t\t\t\t\tNumber(queryCell.format[0].compareValue2);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tif (condition) this.cellAddStyle(args, queryCell);\r\n\t\t\t} else this.cellAddStyle(args, queryCell);\r\n\t\t}\r\n\r\n\t\t// date format about quarterly\r\n\r\n\t\tif (this.formatDates && this.formatDates.length) {\r\n\t\t\tlet dateFields = this.formatDates.map((el) => {\r\n\t\t\t\treturn el.name;\r\n\t\t\t});\r\n\t\t\tif (\r\n\t\t\t\targs.column.field &&\r\n\t\t\t\tdateFields.includes(args.column.field) &&\r\n\t\t\t\tqueryCell.format &&\r\n\t\t\t\tqueryCell.format.length &&\r\n\t\t\t\tqueryCell.format[0].formatChecked\r\n\t\t\t) {\r\n\t\t\t\tlet date = new Date(args.data[args.column.field]);\r\n\r\n\t\t\t\tlet quarter =\r\n\t\t\t\t\tMath.floor((date.getMonth() + 1) % 3) == 0\r\n\t\t\t\t\t\t? Math.floor((date.getMonth() + 1) / 3)\r\n\t\t\t\t\t\t: Math.floor((date.getMonth() + 1) / 3) + 1;\r\n\r\n\t\t\t\tlet format;\r\n\r\n\t\t\t\tthis.formatDates.map((el) => {\r\n\t\t\t\t\tif (el.name == args.column.field) format = el.format;\r\n\t\t\t\t});\r\n\t\t\t\tlet year: any;\r\n\t\t\t\tswitch (format) {\r\n\t\t\t\t\tcase \"Q1 2021\":\r\n\t\t\t\t\t\tyear = date.getFullYear();\r\n\t\t\t\t\t\targs.cell.innerHTML = \"Q\" + quarter + \" \" + year;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"Q1 21\":\r\n\t\t\t\t\t\tyear = (date as any).getYear() - 100;\r\n\t\t\t\t\t\targs.cell.innerHTML = \"Q\" + quarter + \" \" + year;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"2021 Q1\":\r\n\t\t\t\t\t\tyear = date.getFullYear();\r\n\t\t\t\t\t\targs.cell.innerHTML = year + \" \" + \"Q\" + quarter;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"21 Q1\":\r\n\t\t\t\t\t\tyear = (date as any).getYear() - 100;\r\n\t\t\t\t\t\targs.cell.innerHTML = year + \" \" + \"Q\" + quarter;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tcellAddStyle(args, queryCell) {\r\n\t\tif (queryCell.format[0].fontSettingChecked) {\r\n\t\t\tlet formatCellData = args.data[args.column.field];\r\n\t\t\tif (Math.sign(formatCellData) !== 0)\r\n\t\t\t\tif (Math.sign(formatCellData) === -1) {\r\n\t\t\t\t\targs.cell.style.cssText += `color: ${queryCell.format[0].negaFontColor} !important`;\r\n\t\t\t\t\targs.cell.style.cssText += `font-size: ${queryCell.format[0].negaFontSizeValue} !important`;\r\n\t\t\t\t\targs.cell.style.cssText += `font-family: ${queryCell.format[0].negaFontFamilyValue} !important`;\r\n\t\t\t\t\targs.cell.style.cssText += `background-color: ${queryCell.format[0].negaBackgroundColor} !important`;\r\n\t\t\t\t} else {\r\n\t\t\t\t\targs.cell.style.cssText += `color: ${queryCell.format[0].fontColor} !important`;\r\n\t\t\t\t\targs.cell.style.cssText += `font-size: ${queryCell.format[0].fontSizeValue} !important`;\r\n\t\t\t\t\targs.cell.style.cssText += `font-family: ${queryCell.format[0].fontFamilyValue} !important`;\r\n\t\t\t\t\targs.cell.style.cssText += `background-color: ${queryCell.format[0].backgroundColor} !important`;\r\n\t\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tactionComplete(args) {\r\n\t\tif (args.requestType === \"columnstate\") {\r\n\t\t\tconst hideColumns = this.grid.getHiddenColumns();\r\n\t\t\tthis.fields.map((el) => (el.visible = true));\r\n\t\t\tif (hideColumns.length > 0) {\r\n\t\t\t\tfor (let hideitem of hideColumns) {\r\n\t\t\t\t\tthis.fields.forEach((field) => {\r\n\t\t\t\t\t\tif (field.colName === hideitem.field) {\r\n\t\t\t\t\t\t\tfield.visible = false;\r\n\t\t\t\t\t\t\tfield._index = null;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tlet _index = 0;\r\n\t\t\tthis.fields.forEach((field) => {\r\n\t\t\t\tif (field.visible) {\r\n\t\t\t\t\t_index += 1;\r\n\t\t\t\t\tfield._index = _index;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tthis.config.fields = JSON.parse(JSON.stringify(this.fields));\r\n\t\t\tconst portlet = this.portlet;\r\n\t\t\tportlet.config = JSON.stringify(this.config);\r\n\t\t\tconst index = this.portlets.findIndex(\r\n\t\t\t\t(x) => x.newId === portlet.newId\r\n\t\t\t);\r\n\t\t\tthis.portlets[index].config = JSON.stringify(this.config);\r\n\r\n\t\t\tif (this.grid) this.grid.refresh();\r\n\t\t}\r\n\t}\r\n\texportQueryCellInfo(args): void {\r\n\t\tif (this.formatDates && this.formatDates.length) {\r\n\t\t\tlet dateFields = this.formatDates.map((el) => {\r\n\t\t\t\treturn el.name;\r\n\t\t\t});\r\n\r\n\t\t\tif (args.column.field && dateFields.includes(args.column.field)) {\r\n\t\t\t\tlet date = new Date(args.data[args.column.field]);\r\n\r\n\t\t\t\tlet quarter =\r\n\t\t\t\t\tMath.floor((date.getMonth() + 1) % 3) == 0\r\n\t\t\t\t\t\t? Math.floor((date.getMonth() + 1) / 3)\r\n\t\t\t\t\t\t: Math.floor((date.getMonth() + 1) / 3) + 1;\r\n\r\n\t\t\t\tlet format;\r\n\r\n\t\t\t\tthis.formatDates.map((el) => {\r\n\t\t\t\t\tif (el.name == args.column.field) format = el.format;\r\n\t\t\t\t});\r\n\t\t\t\tlet year: any;\r\n\t\t\t\tswitch (format) {\r\n\t\t\t\t\tcase \"Q1 2021\":\r\n\t\t\t\t\t\tyear = date.getFullYear();\r\n\t\t\t\t\t\targs.value = \"Q\" + quarter + \" \" + year;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"Q1 21\":\r\n\t\t\t\t\t\tyear = (date as any).getYear() - 100;\r\n\t\t\t\t\t\targs.value = \"Q\" + quarter + \" \" + year;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"2021 Q1\":\r\n\t\t\t\t\t\tyear = date.getFullYear();\r\n\t\t\t\t\t\targs.value = year + \" \" + \"Q\" + quarter;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"21 Q1\":\r\n\t\t\t\t\t\tyear = (date as any).getYear() - 100;\r\n\t\t\t\t\t\targs.value = year + \" \" + \"Q\" + quarter;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getNumFormat(el) {\r\n\t\t//SMP2-3026\r\n\t\tif (\r\n\t\t\tel.dataType === \"number\" &&\r\n\t\t\tel.colName !== \"PortInvStk\" &&\r\n\t\t\tel.colName !== \"PortFdInvStk\"\r\n\t\t) {\r\n\t\t\tif (el.format && el.format.length && el.format[0].formatChecked) {\r\n\t\t\t\tif (\r\n\t\t\t\t\t[10, 11, 12, 13, 14, 15, 16, 17, 18].includes(\r\n\t\t\t\t\t\tel.format[0].selectedFormat\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t\t\tthis.millionData(el.colName);\r\n\t\t\t\treturn this.pbf.formatNumber(el.format[0].selectedFormat);\r\n\t\t\t} else return this.DashboardPorletsService.formatNumber(el.dp);\r\n\t\t}\r\n\t\tif (el.dataType === \"percent\") {\r\n\t\t\tif (el.format && el.format.length && el.format[0].formatChecked)\r\n\t\t\t\treturn this.pbf.formatPercent(el.format[0].selectedFormat);\r\n\t\t\telse return this.DashboardPorletsService.formatPercent(el.dp);\r\n\t\t}\r\n\t\tif (el.dataType === \"percentNum\")\r\n\t\t\treturn this.DashboardPorletsService.formatPercentNum(el.dp);\r\n\t\tif (el.dataType === \"multiple\")\r\n\t\t\treturn this.DashboardPorletsService.formatMultiple(el.dp);\r\n\t}\r\n\r\n\tprivate millionData(colName) {\r\n\t\tthis.data.map((el) => {\r\n\t\t\tel[colName] = Number(el[colName] / 1000000);\r\n\t\t});\r\n\t\tif (this.config.filterSettings && this.config.filterSettings.length) {\r\n\t\t\tlet filterFields = this.config.filterSettings.map((el) => {\r\n\t\t\t\treturn el.field;\r\n\t\t\t});\r\n\t\t\tif (filterFields.includes(colName))\r\n\t\t\t\tthis.config.filterSettings.map((el) => {\r\n\t\t\t\t\tif (el.field == colName) {\r\n\t\t\t\t\t\tel.value = Number(el.value / 1000000);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n","<div class=\"e-bigger transpose-grid\">\r\n\t<!-- 虚拟滚动会引起不显示的bug -->\r\n\t<!-- [enableVirtualization]=\"true\" -->\r\n\t<ejs-grid\r\n\t\t#grid\r\n\t\t[dataSource]=\"data\"\r\n\t\t[rowRenderingMode]=\"rowMode\"\r\n\t\t[allowExcelExport]=\"true\"\r\n\t\tshowColumnChooser=\"true\"\r\n\t\tenableAdaptiveUI=\"true\"\r\n\t\twidth=\"100%\"\r\n\t\theight=\"100%\"\r\n\t\t[columnChooserSettings]=\"ColumnChooserSettings\"\r\n\t\t(queryCellInfo)=\"customiseCell($event)\"\r\n\t\t(actionComplete)=\"actionComplete($event)\"\r\n\t\t[allowPdfExport]=\"true\"\r\n\t\t[allowExcelExport]=\"true\"\r\n\t\t(excelQueryCellInfo)=\"exportQueryCellInfo($event)\"\r\n\t>\r\n\t\t<e-columns>\r\n\t\t\t<e-column\r\n\t\t\t\t*ngFor=\"let item of fields\"\r\n\t\t\t\t[field]=\"item.colName\"\r\n\t\t\t\t[headerText]=\"\r\n\t\t\t\t\titem.displayName\r\n\t\t\t\t\t\t? item.displayName\r\n\t\t\t\t\t\t: item.addtionName\r\n\t\t\t\t\t\t? item.langValue + ' ' + item.addtionName\r\n\t\t\t\t\t\t: item.langValue\r\n\t\t\t\t\"\r\n\t\t\t\t[visible]=\"item.visible\"\r\n\t\t\t\twidth=\"200\"\r\n\t\t\t\t[type]=\"\r\n\t\t\t\t\titem.dataType === 'number' ||\r\n\t\t\t\t\titem.dataType === 'percentNum' ||\r\n\t\t\t\t\titem.dataType === 'percent'\r\n\t\t\t\t\t\t? 'number'\r\n\t\t\t\t\t\t: item.dataType == 'datetime'\r\n\t\t\t\t\t\t? 'date'\r\n\t\t\t\t\t\t: null\r\n\t\t\t\t\"\r\n\t\t\t\tclipMode=\"EllipsisWithTooltip\"\r\n\t\t\t\t[format]=\"getFormatOptions(item.colName)\"\r\n\t\t\t>\r\n\t\t\t\t<ng-template\r\n\t\t\t\t\t#template\r\n\t\t\t\t\tlet-data\r\n\t\t\t\t\t*ngIf=\"item.dataType === 'date'\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ pbf.formatDate(data[item.colName]) }}\r\n\t\t\t\t</ng-template>\r\n\t\t\t</e-column>\r\n\t\t</e-columns>\r\n\t</ejs-grid>\r\n\t<div class=\"full-box-mask\" *ngIf=\"pageLoading\">\r\n\t\t<mat-spinner\r\n\t\t\tstyle=\"z-index: 999\"\r\n\t\t\tmode=\"indeterminate\"\r\n\t\t\t[diameter]=\"24\"\r\n\t\t></mat-spinner>\r\n\t</div>\r\n</div>\r\n","import {\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  SimpleChanges,\r\n  ViewChild,\r\n  ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport {\r\n  ILoadedEventArgs,\r\n  ChartTheme,\r\n  ChartComponent,\r\n  ITooltipRenderEventArgs,\r\n} from \"@syncfusion/ej2-angular-charts\";\r\nimport { DropDownList } from \"@syncfusion/ej2-angular-dropdowns\";\r\nimport ResizeObserver from \"resize-observer-polyfill\";\r\nimport { DashboardService } from \"../dashboard.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { DecimalPipe } from \"@angular/common\";\r\nimport { PBF_TOKEN } from \"../../service/InjectionToken\";\r\nimport { Optional, Inject } from \"@angular/core\";\r\n\r\nexport function debounce(delay: number = 300): MethodDecorator {\r\n  // tslint:disable-next-line: only-arrow-functions\r\n  return function (descriptor: PropertyDescriptor) {\r\n    const timeoutKey = Symbol();\r\n\r\n    const original = descriptor.value;\r\n    if (!original) {\r\n      return;\r\n    }\r\n\r\n    descriptor.value = function (...args) {\r\n      clearTimeout(this[timeoutKey]);\r\n      this[timeoutKey] = setTimeout(() => original.apply(this, args), delay);\r\n    };\r\n\r\n    return descriptor;\r\n  };\r\n}\r\n\r\n@Component({\r\n  selector: \"kt-bar-charts\",\r\n  templateUrl: \"./bar-charts.component.html\",\r\n  styleUrls: [\"./bar-charts.component.scss\"],\r\n  encapsulation: ViewEncapsulation.None,\r\n  providers: [DecimalPipe],\r\n})\r\nexport class BarChartsComponent implements OnInit {\r\n  @ViewChild(\"chartContent\", { static: false }) content: ElementRef;\r\n  @ViewChild(\"chart\", { static: false }) chart: ChartComponent;\r\n  @Output() updatePorletConfig = new EventEmitter();\r\n  @Input() dataColumn: any = []; //  柱状图数据源\r\n  @Input() dataLine: any = []; //  折线图数据源\r\n  @Input() dataStackingColumn: any = []; //  堆积图数据源\r\n  @Input() columnType: any = \"number\";\r\n  @Input() lineType: any = \"number\";\r\n  @Input() themeColor: any = null;\r\n  @Input() portlet: any = null;\r\n  @Input() dashboard: any = null;\r\n  @Input() isDownloadCache = false;\r\n  public column: any[] = [];\r\n  public columnLine: any[] = [];\r\n  public config;\r\n  public _dataStackingColumn = [];\r\n  public marker;\r\n  public specialKey = [\"IRR\", \"DPI\", \"MOIC\", \"PIC\", \"RVPI\", \"TVPI\"];\r\n  pageLoading = false;\r\n\r\n  public zoomSettings: Object = {\r\n    // enableMouseWheelZooming: true,\r\n    // enableSelectionZooming: true,\r\n    // toolbarItems: [],\r\n    // enablePan: true,\r\n    enable: false,\r\n  };\r\n\r\n  //Initializing Primary X Axis\r\n  public primaryXAxis: Object = {\r\n    valueType: \"Category\",\r\n    labelIntersectAction: \"Rotate45\",\r\n    majorGridLines: { width: 0 },\r\n    majorTickLines: { width: 0 },\r\n    edgeLabelPlacement: \"Shift\",\r\n    lineStyle: { color: \"#EAEDF0\", width: 1 },\r\n\r\n    // enableScrollbar: true,\r\n    // enableTrim: true,\r\n    // enablePan: true,\r\n    // rotate: 0,\r\n    labelStyle: {\r\n      fontFamily: \"Arial\",\r\n      size: \"11px\",\r\n      color: \"#6C7C90\",\r\n      fontWeight: \"400\",\r\n    },\r\n  };\r\n\r\n  //Initializing Primary Y Axis\r\n  public primaryYAxis: Object = {\r\n    title: \"\", //First Y\r\n    lineStyle: { width: 0 },\r\n    majorTickLines: { width: 0 },\r\n    majorGridLines: {\r\n      color: \"#EAEDF0\",\r\n      width: 1,\r\n    }, // 设置主要网格线颜色\r\n    labelFormat: \"n2\",\r\n    labelStyle: {\r\n      fontFamily: \"Arial\",\r\n      size: \"11px\",\r\n      color: \"#6C7C90\",\r\n      fontWeight: \"400\",\r\n    },\r\n  };\r\n\r\n  public chartArea: Object = {\r\n    border: {\r\n      width: 0,\r\n    },\r\n  };\r\n\r\n  // 鼠标移到bar上面显示的box\r\n  public tooltip: Object = {\r\n    enable: true,\r\n    fill: \"#1F3F5C\",\r\n    opacity: 1,\r\n    textStyle: {\r\n      fontFamily: \"Arial\",\r\n      size: \"11px\",\r\n      color: \"#FFFFFF\",\r\n      fontWeight: \"400\",\r\n    },\r\n  };\r\n\r\n  // 图例设置\r\n  public legendSettings: Object = {\r\n    visible: true,\r\n    enableHighlight: true,\r\n    cssClass: \"custom-ledgend\",\r\n    textStyle: {\r\n      fontFamily: \"Arial\",\r\n      size: \"11px\",\r\n    },\r\n    shapeWidth: 7,\r\n    shapeHeight: 7,\r\n  };\r\n  // custom code start\r\n  public load(args: ILoadedEventArgs): void {\r\n    let selectedTheme: string = location.hash.split(\"/\")[1];\r\n    selectedTheme = selectedTheme ? selectedTheme : \"Material\";\r\n    args.chart.theme = <ChartTheme>(\r\n      (selectedTheme.charAt(0).toUpperCase() + selectedTheme.slice(1))\r\n        .replace(/-dark/i, \"Dark\")\r\n        .replace(/contrast/i, \"Contrast\")\r\n    );\r\n  }\r\n  // custom code end\r\n  public title: string = \"\";\r\n\r\n  height: string = \"250px\";\r\n  width: string = \"100%\";\r\n\r\n  public customPalette: string[] = []; //默认颜色组\r\n  private subscriptions: Subscription[] = [];\r\n  public exportType: DropDownList;\r\n  public markerFormat = \"\";\r\n\r\n  constructor(\r\n    private ref: ChangeDetectorRef,\r\n    public dashboardService: DashboardService,\r\n    @Optional() @Inject(PBF_TOKEN) private pbf: any,\r\n    private decimalPipe: DecimalPipe\r\n  ) {}\r\n  frequency = \"\";\r\n  hasFrequencyOption = false;\r\n  tableHasQuarterlyYearly = false;\r\n  ngOnInit() {\r\n    this.config = this.portlet.config && JSON.parse(this.portlet.config);\r\n    const frequencyDataMartTableList = this.dashboard.dataMartTables.filter(\r\n      (item) => item.frequency\r\n    );\r\n    this.hasFrequencyOption = frequencyDataMartTableList.some(\r\n      (item) => item.datamartCode === this.portlet.figureCode\r\n    );\r\n    this.tableHasQuarterlyYearly = false;\r\n    if (this.portlet.figureCode.includes(\"Quarterly\")) {\r\n      this.frequency = \"QUARTERLY\";\r\n      this.tableHasQuarterlyYearly = true;\r\n    } else if (this.portlet.figureCode.includes(\"Yearly\")) {\r\n      this.frequency = \"YEARLY\";\r\n      this.tableHasQuarterlyYearly = true;\r\n    }\r\n\r\n    const selectedMultiples = this.config.selectedMultiples;\r\n    if (selectedMultiples === \"YEARLY\") {\r\n      this.frequency = \"YEARLY\";\r\n    } else if (selectedMultiples === \"QUARTERLY\") {\r\n      this.frequency = \"QUARTERLY\";\r\n    }\r\n    this.initMarkerConfig();\r\n    this.initData();\r\n    this.subscriptions.push(\r\n      this.dashboardService.getSwitchConfig().subscribe((res: any) => {\r\n        if (this.portlet.newId === res.id) {\r\n          this.config.hasMarker = res.checked;\r\n          this.portlet.config = JSON.stringify(this.config);\r\n          this.updatePorletConfig.emit({\r\n            newId: this.portlet.newId,\r\n            config: Object.assign({}, this.config),\r\n          });\r\n          this.initMarkerConfig();\r\n          this.chart.refresh();\r\n        }\r\n      }),\r\n      this.dashboardService.getMarkerFormat().subscribe((res: any) => {\r\n        if (this.portlet.newId === res.newId) {\r\n          this.config.markerFormat = res.markerFormat;\r\n          this.portlet.config = JSON.stringify(this.config);\r\n          this.markerFormat = res.markerFormat;\r\n          this.updatePorletConfig.emit({\r\n            newId: this.portlet.newId,\r\n            config: Object.assign({}, this.config),\r\n          });\r\n          this.initMarkerConfig();\r\n          this.chart.refresh();\r\n        }\r\n      })\r\n    );\r\n  }\r\n\r\n  private initMarkerConfig() {\r\n    const format = this.config.portletType === \"historicalIRR\" ? \"p2\" : \"n2\";\r\n    this.pageLoading = false;\r\n    const hasMarker = this.config && this.config.hasMarker;\r\n    this.markerFormat = this.config && this.config.markerFormat;\r\n    this.marker = {\r\n      visible: hasMarker,\r\n      dataLabel: {\r\n        font: {\r\n          fontFamily: \"Arial\",\r\n          size: \"10px\",\r\n          color: \"#44566C\",\r\n          fontWeight: \"400\",\r\n        },\r\n        visible: hasMarker,\r\n        format,\r\n      },\r\n    };\r\n  }\r\n  textRender(e) {\r\n    this.dataLine.forEach((data) => {\r\n      Object.keys(data).forEach((key) => {\r\n        if (this.specialKey.includes(key)) {\r\n          if (!e.text) {\r\n            return;\r\n          }\r\n          if (e.text != data[key]) {\r\n            return;\r\n          }\r\n          if (key === \"IRR\") {\r\n            e.text = (e.text * 100).toFixed(2) + \"%\";\r\n          } else {\r\n            e.text = Number(e.text).toFixed(2) + \"x\";\r\n          }\r\n        }\r\n      });\r\n    });\r\n    this.dataColumn.forEach((data) => {\r\n      Object.keys(data).forEach((key) => {\r\n        if (this.specialKey.includes(key)) {\r\n          if (!e.text) {\r\n            return;\r\n          }\r\n          if (e.text != data[key]) {\r\n            return;\r\n          }\r\n\r\n          if (key === \"IRR\") {\r\n            e.text = (e.text * 100).toFixed(2) + \"%\";\r\n          } else {\r\n            e.text = Number(e.text).toFixed(2) + \"x\";\r\n          }\r\n        }\r\n      });\r\n    });\r\n    if (!isNaN(e.text)) {\r\n      if (e.text !== 0) {\r\n        switch (this.markerFormat) {\r\n          case \"M\":\r\n            e.text =\r\n              this.decimalPipe.transform(e.text / 1000000, \"1.2-2\") + \"m\";\r\n            return;\r\n          case \"K\":\r\n            e.text = this.decimalPipe.transform(e.text / 1000, \"1.2-2\") + \"k\";\r\n            return;\r\n          case \"bn\":\r\n            e.text =\r\n              this.decimalPipe.transform(e.text / 1000000000, \"1.2-2\") + \"b\";\r\n            return;\r\n          case \"T\":\r\n            e.text =\r\n              this.decimalPipe.transform(e.text / 1000000000000, \"1.2-2\") + \"t\";\r\n            return;\r\n          default:\r\n            return;\r\n        }\r\n      } else {\r\n        e.text = \"\";\r\n      }\r\n    }\r\n  }\r\n  formatFrequency(date: Date, frequency: string): string {\r\n    if (frequency === \"YEARLY\") {\r\n      const year = date.getFullYear();\r\n      return `${year}`;\r\n    } else if (frequency === \"QUARTERLY\") {\r\n      const year = date.getFullYear();\r\n      const quarter = Math.floor(date.getMonth() / 3) + 1;\r\n      return `${year}-Q${quarter}`;\r\n    }\r\n  }\r\n\r\n  initData() {\r\n    this.column = [];\r\n    this.columnLine = [];\r\n    if (\r\n      (this.hasFrequencyOption || this.tableHasQuarterlyYearly) &&\r\n      this.frequency\r\n    ) {\r\n      this.dataColumn.forEach((item) => {\r\n        if (!item._period) {\r\n          item._period = item.period;\r\n        }\r\n        item.period = this.formatFrequency(\r\n          new Date(item._period),\r\n          this.frequency\r\n        );\r\n      });\r\n      this.dataLine.forEach((item) => {\r\n        if (!item._period) {\r\n          item._period = item.period;\r\n        }\r\n        item.period = this.formatFrequency(\r\n          new Date(item._period),\r\n          this.frequency\r\n        );\r\n      });\r\n    }\r\n    if (this.dataColumn && this.dataColumn.length > 0) {\r\n      for (var i in this.dataColumn[0]) {\r\n        if (i != \"period\" && i != \"_period\") {\r\n          this.column.push({\r\n            xName: \"period\",\r\n            yName: i,\r\n            name: i,\r\n          });\r\n        }\r\n      }\r\n    }\r\n\r\n    if (this.dataLine && this.dataLine.length > 0) {\r\n      for (var i in this.dataLine[0]) {\r\n        if (i != \"period\" && i != \"_period\") {\r\n          this.columnLine.push({\r\n            xName: \"period\",\r\n            yName: i,\r\n            name: i,\r\n          });\r\n        }\r\n      }\r\n    }\r\n\r\n    if (this.themeColor && this.themeColor.length > 0) {\r\n      this.customPalette = this.themeColor;\r\n    }\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    // if (\r\n    // \t(changes.dataColumn &&\r\n    // \t\t!this.arraysAreEqual(\r\n    // \t\t\tchanges.dataColumn.currentValue,\r\n    // \t\t\tchanges.dataColumn.previousValue\r\n    // \t\t)) ||\r\n    // \t(changes.dataLine &&\r\n    // \t\t!this.arraysAreEqual(\r\n    // \t\t\tchanges.dataLine.currentValue,\r\n    // \t\t\tchanges.dataLine.previousValue\r\n    // \t\t)) ||\r\n    // \t!this.arraysAreEqual(\r\n    // \t\tchanges.themeColor ? changes.themeColor.currentValue : null,\r\n    // \t\tchanges.themeColor ? changes.themeColor.previousValue : null\r\n    // \t)\r\n    // ) {\r\n    // \tthis.initData();\r\n    // }\r\n  }\r\n\r\n  refreshChart() {\r\n    setTimeout(() => {\r\n      if (this.chart) this.chart.refresh();\r\n    }, 0);\r\n  }\r\n\r\n  resizeObserver: any;\r\n  ngAfterViewInit() {\r\n    this.resizeObserver = new ResizeObserver((entries) => {\r\n      for (let entry of entries) {\r\n        const { width, height } = entry.contentRect;\r\n        // 在这里执行你想要的操作，比如更新图表或其他相关操作\r\n        this.changeSize(width, height);\r\n      }\r\n    });\r\n    if (this.content) {\r\n      this.resizeObserver.observe(this.content.nativeElement);\r\n    }\r\n    this.subscriptions.push(\r\n      this.dashboardService.getStartRefresh().subscribe((dashboardId) => {\r\n        if (dashboardId === this.dashboard.id) {\r\n          this.pageLoading = true;\r\n          this.ref.markForCheck();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getRefreshGadget().subscribe((e) => {\r\n        if (!e || e[\"dashboardId\"] !== this.dashboard.id) {\r\n          return;\r\n        }\r\n        const newId = e[\"newId\"];\r\n        if (newId === this.portlet.newId || newId === this.portlet.id) {\r\n          this.initMarkerConfig();\r\n          this.refreshChart();\r\n        }\r\n      })\r\n    );\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    // 在组件销毁时取消监听\r\n    if (this.resizeObserver) {\r\n      this.resizeObserver.disconnect();\r\n    }\r\n    this.subscriptions.forEach((ele) => ele.unsubscribe());\r\n  }\r\n\r\n  @debounce(100)\r\n  changeSize(width, height) {\r\n    if (!width || !height) {\r\n      return;\r\n    }\r\n    this.width = `${width}px`;\r\n    this.height = `${height - 10}px`;\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  exportChart() {\r\n    this.chart.exportModule.export(\"PNG\", \"Chart\");\r\n  }\r\n\r\n  OnChartAxisLabeRender(args: any) {\r\n    if (args.axis.propName == \"primaryYAxis\") {\r\n      if (\r\n        this.columnType == \"percent\" ||\r\n        (this.dataColumn &&\r\n          this.dataColumn.length <= 0 &&\r\n          this.lineType == \"percent\")\r\n      ) {\r\n        args.text = this.formatPercentage(args.text);\r\n      } else {\r\n        if (isNaN(args.text)) {\r\n          return;\r\n        }\r\n        args.text =\r\n          Number(args.text) >= 0\r\n            ? this.getT(args.text)\r\n            : `-${this.getT(args.text)}`;\r\n      }\r\n    } else if (args.axis.propName == \"yAxis2\") {\r\n      if (\r\n        this.lineType == \"percent\" &&\r\n        this.dataColumn &&\r\n        this.dataColumn.length > 0\r\n      ) {\r\n        args.text = this.formatPercentage(args.text);\r\n      } else {\r\n        if (isNaN(args.text)) {\r\n          return;\r\n        }\r\n        args.text =\r\n          Number(args.text) >= 0\r\n            ? this.getT(args.text)\r\n            : `-${this.getT(args.text)}`;\r\n      }\r\n    }\r\n  }\r\n\r\n  getT(value) {\r\n    return String(value)\r\n      .replace(/[^0-9.]/g, \"\")\r\n      .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, \"$1,\");\r\n    // return this.decimalPipe.transform(Number(value), \"1.2-2\");\r\n  }\r\n\r\n  formatPercentage(decimal) {\r\n    const percentage = (decimal * 100).toFixed(2);\r\n    return `${percentage}%`;\r\n  }\r\n\r\n  arraysAreEqual(arr1, arr2) {\r\n    if ((!arr1 && arr2) || (arr1 && !arr2)) {\r\n      return false;\r\n    }\r\n\r\n    if (!arr1 && !arr2) {\r\n      return true;\r\n    }\r\n\r\n    if (arr1.length !== arr2.length) {\r\n      return false;\r\n    }\r\n\r\n    for (let i = 0; i < arr1.length; i++) {\r\n      const obj1 = arr1[i];\r\n      const obj2 = arr2[i];\r\n\r\n      if (typeof obj1 !== \"object\" || typeof obj2 !== \"object\") {\r\n        if (obj1 !== obj2) {\r\n          return false;\r\n        }\r\n      } else {\r\n        if (!this.objectsAreEqual(obj1, obj2)) {\r\n          return false;\r\n        }\r\n      }\r\n    }\r\n\r\n    return true;\r\n  }\r\n\r\n  objectsAreEqual(obj1, obj2) {\r\n    const keys1 = Object.keys(obj1);\r\n    const keys2 = Object.keys(obj2);\r\n\r\n    if (keys1.length !== keys2.length) {\r\n      return false;\r\n    }\r\n\r\n    for (let key of keys1) {\r\n      if (obj1[key] !== obj2[key]) {\r\n        return false;\r\n      }\r\n    }\r\n\r\n    return true;\r\n  }\r\n\r\n  onPointRender(e) {\r\n    if (e.point.y == 0) {\r\n      e.cancel = true;\r\n    }\r\n  }\r\n\r\n  onLoaded() {\r\n    if (this.isDownloadCache) {\r\n      // 等待 2000ms，确保图表文字节点渲染完成\r\n      setTimeout(() => {\r\n        this.pbf.dashboardReadyDownload.next(this.portlet.newId);\r\n      }, 2000);\r\n    }\r\n  }\r\n\r\n  public tooltipRender(args: ITooltipRenderEventArgs | any): void {\r\n    if (isNaN(args.data.pointY)) {\r\n      return;\r\n    }\r\n    if (this.config.portletType === \"historicalIRR\") {\r\n      args.text = `${args.data.pointX}: ${(args.data.pointY * 100).toFixed(\r\n        2\r\n      )}%`;\r\n      return;\r\n    }\r\n    args.text = `${args.data.pointX}: ${this.decimalPipe.transform(\r\n      args.data.pointY,\r\n      \"1.2-2\"\r\n    )}`;\r\n  }\r\n}\r\n","<div\r\n  class=\"content\"\r\n  #chartContent\r\n  id=\"chartContent\"\r\n  *ngIf=\"dataColumn || dataLine\"\r\n>\r\n  <ejs-chart\r\n    #chart\r\n    style=\"display: block\"\r\n    align=\"center\"\r\n    [title]=\"title\"\r\n    [primaryXAxis]=\"primaryXAxis\"\r\n    [primaryYAxis]=\"primaryYAxis\"\r\n    [tooltip]=\"tooltip\"\r\n    (load)=\"load($event)\"\r\n    [chartArea]=\"chartArea\"\r\n    width=\"100%\"\r\n    [height]=\"height\"\r\n    [width]=\"width\"\r\n    [zoomSettings]=\"zoomSettings\"\r\n    [legendSettings]=\"legendSettings\"\r\n    [palettes]=\"customPalette\"\r\n    (pointRender)=\"onPointRender($event)\"\r\n    [enableAnimation]=\"false\"\r\n    (textRender)=\"textRender($event)\"\r\n    (tooltipRender)=\"tooltipRender($event)\"\r\n    (axisLabelRender)=\"OnChartAxisLabeRender($event)\"\r\n    (loaded)=\"onLoaded()\"\r\n  >\r\n    <e-series-collection>\r\n      <ng-container *ngIf=\"dataColumn && dataColumn.length > 0\">\r\n        <e-series\r\n          *ngFor=\"let i of column\"\r\n          [dataSource]=\"dataColumn\"\r\n          type=\"Column\"\r\n          [xName]=\"i.xName\"\r\n          [marker]=\"marker\"\r\n          [yName]=\"i.yName\"\r\n          [name]=\"i.name\"\r\n          legendShape=\"Rectangle\"\r\n          columnSpacing=\"0.1\"\r\n          width=\"2\"\r\n          opacity=\"1\"\r\n        >\r\n        </e-series>\r\n      </ng-container>\r\n\r\n      <!-- 只选第二个Y轴时，显示折线图 -->\r\n      <ng-container\r\n        *ngIf=\"\r\n          dataLine &&\r\n          dataLine.length > 0 &&\r\n          dataColumn &&\r\n          dataColumn.length <= 0\r\n        \"\r\n      >\r\n        <e-series\r\n          *ngFor=\"let i of columnLine\"\r\n          [dataSource]=\"dataLine\"\r\n          legendShape=\"HorizontalLine\"\r\n          type=\"Spline\"\r\n          [xName]=\"i.xName\"\r\n          [yName]=\"i.yName\"\r\n          [marker]=\"marker\"\r\n          [name]=\"i.name\"\r\n          columnSpacing=\"0.1\"\r\n          width=\"2\"\r\n          opacity=\"1\"\r\n        >\r\n        </e-series>\r\n      </ng-container>\r\n\r\n      <!-- 如果两个Y轴是同类型数据，共用一个Y轴 -->\r\n      <ng-container\r\n        *ngIf=\"\r\n          dataColumn &&\r\n          dataColumn.length > 0 &&\r\n          dataLine &&\r\n          dataLine.length > 0 &&\r\n          columnType == lineType\r\n        \"\r\n      >\r\n        <e-series\r\n          *ngFor=\"let i of columnLine\"\r\n          [dataSource]=\"dataLine\"\r\n          legendShape=\"HorizontalLine\"\r\n          type=\"Spline\"\r\n          [xName]=\"i.xName\"\r\n          [yName]=\"i.yName\"\r\n          [name]=\"i.name\"\r\n          [marker]=\"marker\"\r\n          columnSpacing=\"0.1\"\r\n          width=\"2\"\r\n          opacity=\"1\"\r\n        >\r\n        </e-series>\r\n      </ng-container>\r\n\r\n      <!-- 如果两个Y轴是不同类型数据，就用两个Y轴 -->\r\n      <ng-container\r\n        *ngIf=\"\r\n          dataColumn &&\r\n          dataColumn.length > 0 &&\r\n          dataLine &&\r\n          dataLine.length > 0 &&\r\n          columnType != lineType\r\n        \"\r\n      >\r\n        <e-series\r\n          *ngFor=\"let i of columnLine\"\r\n          [dataSource]=\"dataLine\"\r\n          legendShape=\"HorizontalLine\"\r\n          type=\"Spline\"\r\n          [xName]=\"i.xName\"\r\n          [yName]=\"i.yName\"\r\n          [marker]=\"marker\"\r\n          [name]=\"i.name\"\r\n          width=\"2\"\r\n          opacity=\"1\"\r\n          yAxisName=\"yAxis2\"\r\n        >\r\n        </e-series>\r\n      </ng-container>\r\n    </e-series-collection>\r\n\r\n    <e-axes>\r\n      <ng-container\r\n        *ngIf=\"\r\n          dataColumn && dataColumn.length > 0 && dataLine && dataLine.length > 0\r\n        \"\r\n      >\r\n        <e-axis\r\n          opposedPosition=\"true\"\r\n          rowIndex=\"0\"\r\n          name=\"yAxis2\"\r\n          [majorGridLines]=\"{ width: 0 }\"\r\n          title=\"\"\r\n          [lineStyle]=\"{ width: 0 }\"\r\n          [majorTickLines]=\"{ width: 0 }\"\r\n        >\r\n        </e-axis>\r\n      </ng-container>\r\n    </e-axes>\r\n  </ejs-chart>\r\n  <div class=\"full-box-mask\" *ngIf=\"pageLoading\">\r\n    <mat-spinner\r\n      style=\"z-index: 999\"\r\n      mode=\"indeterminate\"\r\n      [diameter]=\"24\"\r\n    ></mat-spinner>\r\n  </div>\r\n</div>\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  ViewChild,\r\n  ChangeDetectorRef,\r\n  Output,\r\n  EventEmitter,\r\n  ElementRef,\r\n  ViewChildren,\r\n  QueryList,\r\n  HostListener,\r\n  Input,\r\n  Optional,\r\n  Inject,\r\n} from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { MatDatepickerInputEvent } from \"@angular/material/datepicker\";\r\nimport {\r\n  ActivatedRoute,\r\n  NavigationEnd,\r\n  NavigationStart,\r\n  Router,\r\n} from \"@angular/router\";\r\nimport { DashboardService } from \"./dashboard.service\";\r\nimport { ApiList } from \"./api\";\r\nimport {\r\n  API_SERVICE_TOKEN,\r\n  PBF_TOKEN,\r\n  ROLE_SERVICE_TOKEN,\r\n} from \"../service/InjectionToken\";\r\nimport { DashboardPorletsService } from \"./dashboardPorlets.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport CircularJSON from \"circular-json\";\r\n//DateFormat\r\nimport {\r\n  MomentDateAdapter,\r\n  MAT_MOMENT_DATE_ADAPTER_OPTIONS,\r\n} from \"@angular/material-moment-adapter\";\r\nimport {\r\n  DateAdapter,\r\n  MAT_DATE_FORMATS,\r\n  MAT_DATE_LOCALE,\r\n} from \"@angular/material/core\";\r\nimport { cloneDeep, find } from \"lodash\";\r\nimport { DashboardLayoutComponent } from \"@syncfusion/ej2-angular-layouts\";\r\nimport { FieldFormatComponent } from \"./sidebar-iconlist/field-format/field-format.component\";\r\nimport { GadgetTableComponent } from \"./gadget-group/gadget-table/gadget-table.component\";\r\nimport { GadgetPivotComponent } from \"./gadget-group/gadget-pivot/gadget-pivot.component\";\r\nimport { GadgetPivotChartComponent } from \"./gadget-group/gadget-pivot-chart/gadget-pivot.component\";\r\nimport { GadgetTransposeComponent } from \"./gadget-group/gadget-transpose/gadget-transpose.component\";\r\nimport { getTranslation } from \"../utils/utils\";\r\nimport {\r\n  // PdfExportProperties,\r\n  ExcelExportProperties,\r\n  ColumnModel,\r\n} from \"@syncfusion/ej2-angular-grids\";\r\nimport { IAxisSet } from \"@syncfusion/ej2-angular-pivotview\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { DataMartNewComponent } from \"./dashboard-properties/data-mart-new/data-mart-new.component\";\r\nimport { BarChartsComponent } from \"./bar-charts/bar-charts.component\";\r\nimport { debounce } from \"./bar-charts/utils\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { PaneDownloadComponent } from \"./dialog-group/download/index.component\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { DialogService } from \"../service/dialog.service\";\r\nimport moment from \"moment\";\r\nimport { FloatBoxComponent } from \"../float-box/index.component\";\r\nimport { DuplicateDialogComponent } from \"./pane-group-new/duplicate-dialog/index.component\";\r\nimport { RenameDialogComponent } from \"./pane-group-new/rename-dialog/index.component\";\r\nimport { DashboardRedirectComponent } from \"./pane-group-new/redirect/index.component\";\r\n\r\nlet dateFormat = \"DD-MM-YYYY\";\r\nif (localStorage[\"setting\"]) {\r\n  const dateArray = find(\r\n    JSON.parse(localStorage.getItem(\"setting\") || \"{}\"),\r\n    (item) => item && item[\"parameter\"] === \"DATE_FORMAT\"\r\n  );\r\n  if (dateArray) {\r\n    dateFormat = dateArray.value;\r\n  }\r\n}\r\n\r\nconst MY_FORMATS = {\r\n  parse: {\r\n    dateInput: \"DD-MM-YYYY\",\r\n  },\r\n  display: {\r\n    dateInput: dateFormat,\r\n    monthYearLabel: \"YYYY\",\r\n    dateA11yLabel: \"LL\",\r\n    monthYearA11yLabel: \"YYYY\",\r\n  },\r\n};\r\n\r\n@Component({\r\n  selector: \"rs-dashboard\",\r\n  templateUrl: \"./pane-group-new.component.html\",\r\n  styleUrls: [\"./pane-group-new.component.scss\"],\r\n  // changeDetection: ChangeDetectionStrategy.OnPush,\r\n  providers: [\r\n    DatePipe,\r\n    {\r\n      provide: DateAdapter,\r\n      useClass: MomentDateAdapter,\r\n      deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\r\n    },\r\n    { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\r\n  ],\r\n})\r\nexport class PaneGroupNewComponent implements OnInit {\r\n  @Output() dateChange: EventEmitter<MatDatepickerInputEvent<any>>;\r\n  @Input() appCode = \"PMS\";\r\n  @ViewChild(\"sidebar\", { static: false }) sidebar: any;\r\n  @ViewChildren(\"floatBox\") floatBox: QueryList<FloatBoxComponent>;\r\n  @ViewChildren(\"unclick\") unclick: QueryList<ElementRef>;\r\n  @ViewChildren(\"unclickGrand\") unclickGrand: QueryList<ElementRef>;\r\n  @ViewChildren(\"newChart\") newChart: QueryList<BarChartsComponent>;\r\n  portlet;\r\n  tabactive: boolean;\r\n  dashboard;\r\n  selectedY = [];\r\n  selectedSecondY = [];\r\n  selectedX = [];\r\n  selectedMultiples: any;\r\n  selectTheme: any;\r\n  hasInit = true;\r\n  activeTabId: any;\r\n  hasChangeDataTable = false;\r\n  activeTabLabel = \"\";\r\n  stayActiveTab: boolean;\r\n  userInfo;\r\n  @HostListener(\"document:click\", [\"$event\"]) bodyClick(e) {\r\n    if (\r\n      this.unclick &&\r\n      this.unclick.first &&\r\n      e.target.tagName !== \"IMG\" &&\r\n      !this.unclick.first.nativeElement.contains(e.target)\r\n    ) {\r\n      this.showSubTotalGroup = false;\r\n    }\r\n\r\n    if (\r\n      this.unclickGrand.first &&\r\n      e.target.tagName !== \"IMG\" &&\r\n      !this.unclickGrand.first.nativeElement.contains(e.target)\r\n    ) {\r\n      this.showgrandTotalGroup = false;\r\n      this.showTableGrandTotalGroup = false;\r\n    }\r\n  }\r\n  public translation = getTranslation();\r\n  userProfile = JSON.parse(localStorage.getItem(\"userProfile\") || \"{}\");\r\n  private lang;\r\n  push_btn = false;\r\n  @ViewChild(\"defaultLayout\", { static: false })\r\n  dashboardLayout: DashboardLayoutComponent;\r\n  @ViewChild(\"canvas\", { static: true }) canvas: ElementRef;\r\n  private config;\r\n  public draggableHandle: string = \".card-topbar\";\r\n  private subscriptions: Subscription[] = [];\r\n  public url;\r\n  public url_id;\r\n  public url_type;\r\n  // private img;\r\n  public datePipeFormat;\r\n  public haveFullScreen = [];\r\n  // private clientHeight_;\r\n  public cellSpacing: number[] = [12, 12];\r\n  public cellAspectRatio;\r\n  public resizableHandles;\r\n  newPosition = [];\r\n\r\n  public mediaQuery;\r\n  figureCode;\r\n  customized = false;\r\n  public chartTypeList = [\"Column\", \"Bar\", \"Line\", \"Area\", \"Scatter\", \"Polar\"];\r\n  @ViewChildren(\"table\")\r\n  public table: QueryList<GadgetTableComponent>;\r\n  @ViewChildren(\"pivot\")\r\n  public pivot: QueryList<GadgetPivotComponent | GadgetPivotChartComponent>;\r\n  @ViewChildren(\"transpose\")\r\n  public transpose: QueryList<GadgetTransposeComponent>;\r\n  public pivotTableSubTotalList: Array<any> = [\r\n    {\r\n      selected: false,\r\n      value: this.translation.SHOW_SUB_TOTALS || \"Show sub totals\",\r\n    },\r\n    {\r\n      selected: false,\r\n      value: this.translation.HIDE_SUB_TOTALS || \"Hide sub totals\",\r\n    },\r\n    {\r\n      selected: false,\r\n      value:\r\n        this.translation.SHOW_SUB_TOTALS_ROWS_ONLY ||\r\n        \"Show sub totals rows only\",\r\n    },\r\n    {\r\n      selected: false,\r\n      value:\r\n        this.translation.SHOW_SUB_TOTALS_COLUMNS_ONLY ||\r\n        \"Show sub totals columns only\",\r\n    },\r\n  ];\r\n  public pivotTableGrandTotalList: Array<any> = [\r\n    {\r\n      selected: false,\r\n      value: this.translation.SHOW_GRAND_TOTALS || \"Show grand totals\",\r\n    },\r\n    {\r\n      selected: false,\r\n      value: this.translation.HIDE_GRAND_TOTALS || \"Hide grand totals\",\r\n    },\r\n    {\r\n      selected: false,\r\n      value:\r\n        this.translation.SHOW_GRAND_TOTALS_ROWS_ONLY ||\r\n        \"Show grand totals rows only\",\r\n    },\r\n    {\r\n      selected: false,\r\n      value:\r\n        this.translation.SHOW_GRAND_TOTALS_COLUMNS_ONLY ||\r\n        \"Show grand totals columns only\",\r\n    },\r\n  ];\r\n  public tableGrandTotalList: Array<any> = [\r\n    {\r\n      selected: false,\r\n      value: this.translation.SHOW_GRAND_TOTALS || \"Show grand totals\",\r\n    },\r\n    {\r\n      selected: false,\r\n      value: this.translation.HIDE_GRAND_TOTALS || \"Hide grand totals\",\r\n    },\r\n  ];\r\n\r\n  themeData: any = [\r\n    {\r\n      id: \"theme01\",\r\n      value: [\r\n        \"#005496\",\r\n        \"#F7941C\",\r\n        \"#C04785\",\r\n        \"#2F7487\",\r\n        \"#45A1AC\",\r\n        \"#FAD870\",\r\n        \"#D6DBDF\",\r\n        \"#62D0CC\",\r\n        \"#0099DA\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme02\",\r\n      value: [\r\n        \"#C04685\",\r\n        \"#005496\",\r\n        \"#64CFCC\",\r\n        \"#0299DA\",\r\n        \"#2F7487\",\r\n        \"#44A1AC\",\r\n        \"#D6DBDF\",\r\n        \"#E16C7A\",\r\n        \"#A00213\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme03\",\r\n      value: [\r\n        \"#005496\",\r\n        \"#0299DA\",\r\n        \"#FFB400\",\r\n        \"#C04685\",\r\n        \"#E16C7A\",\r\n        \"#D6DBDF\",\r\n        \"#2F7487\",\r\n        \"#62D0CC\",\r\n        \"#9FA7AF\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme04\",\r\n      value: [\r\n        \"#005496\",\r\n        \"#005D9F\",\r\n        \"#0065A7\",\r\n        \"#006EB0\",\r\n        \"#0077B8\",\r\n        \"#007FC1\",\r\n        \"#0088C9\",\r\n        \"#0090D2\",\r\n        \"#0099DA\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme05\",\r\n      value: [\r\n        \"#2F7487\",\r\n        \"#358090\",\r\n        \"#3C8B98\",\r\n        \"#4297A1\",\r\n        \"#49A2AA\",\r\n        \"#4FAEB2\",\r\n        \"#55B9BB\",\r\n        \"#5CC5C3\",\r\n        \"#62D0CC\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme06\",\r\n      value: [\r\n        \"#F7941C\",\r\n        \"#FA9D39\",\r\n        \"#FDA64D\",\r\n        \"#FFAF61\",\r\n        \"#FFB874\",\r\n        \"#FFC087\",\r\n        \"#FFCA9A\",\r\n        \"#FFD3AD\",\r\n        \"#FFDCC0\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme07\",\r\n      value: [\r\n        \"#C04785\",\r\n        \"#A85190\",\r\n        \"#905C9A\",\r\n        \"#7866A5\",\r\n        \"#6070B0\",\r\n        \"#487ABA\",\r\n        \"#3085C5\",\r\n        \"#188FCF\",\r\n        \"#0099DA\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme08\",\r\n      value: [\r\n        \"#F7941C\",\r\n        \"#E1962E\",\r\n        \"#CB9740\",\r\n        \"#B49952\",\r\n        \"#9E9B64\",\r\n        \"#889C76\",\r\n        \"#729E88\",\r\n        \"#5B9F9A\",\r\n        \"#45A1AC\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme09\",\r\n      value: [\r\n        \"#F7941C\",\r\n        \"#F08A29\",\r\n        \"#E98136\",\r\n        \"#E27743\",\r\n        \"#DC6E51\",\r\n        \"#D5645E\",\r\n        \"#CE5A6B\",\r\n        \"#C75178\",\r\n        \"#C04785\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme13\",\r\n      value: [\"#1C3484\", \"#35B9FC\"],\r\n    },\r\n    {\r\n      id: \"theme14\",\r\n      value: [\"#04578F\", \"#3EBBCE\"],\r\n    },\r\n    {\r\n      id: \"theme15\",\r\n      value: [\"#1C3484\", \"#136BBB\", \"#35B9FC\"],\r\n    },\r\n    {\r\n      id: \"theme16\",\r\n      value: [\"#04578F\", \"#0082AF\", \"#3EBBCE\"],\r\n    },\r\n    {\r\n      id: \"theme17\",\r\n      value: [\"#1C3484\", \"#1659A9\", \"#1D97E1\", \"#35B9FC\"],\r\n    },\r\n    {\r\n      id: \"theme18\",\r\n      value: [\"#04578F\", \"#0070A3\", \"#16A2C2\", \"#3EBBCE\"],\r\n    },\r\n    {\r\n      id: \"theme19\",\r\n      value: [\"#1C3484\", \"#1659A9\", \"#1375C4\", \"#1D97E1\", \"#35B9FC\"],\r\n    },\r\n    {\r\n      id: \"theme20\",\r\n      value: [\"#04578F\", \"#0070A3\", \"#0089B4\", \"#16A2C2\", \"#3EBBCE\"],\r\n    },\r\n    {\r\n      id: \"theme21\",\r\n      value: [\"#1C3484\", \"#1659A9\", \"#1368B8\", \"#1375C4\", \"#1D97E1\", \"#35B9FC\"],\r\n    },\r\n    {\r\n      id: \"theme22\",\r\n      value: [\"#04578F\", \"#0070A3\", \"#007FAD\", \"#0089B4\", \"#16A2C2\", \"#3EBBCE\"],\r\n    },\r\n    {\r\n      id: \"theme23\",\r\n      value: [\r\n        \"#1C3484\",\r\n        \"#1659A9\",\r\n        \"#145FAF\",\r\n        \"#1368B8\",\r\n        \"#1375C4\",\r\n        \"#1D97E1\",\r\n        \"#35B9FC\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme24\",\r\n      value: [\r\n        \"#04578F\",\r\n        \"#0070A3\",\r\n        \"#0078A9\",\r\n        \"#007FAD\",\r\n        \"#0089B4\",\r\n        \"#16A2C2\",\r\n        \"#3EBBCE\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme11\",\r\n      value: [\r\n        \"#1C3484\",\r\n        \"#194697\",\r\n        \"#1659A9\",\r\n        \"#136BBB\",\r\n        \"#147ECC\",\r\n        \"#1B92DD\",\r\n        \"#26A5ED\",\r\n        \"#35B9FC\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme12\",\r\n      value: [\r\n        \"#04578F\",\r\n        \"#00659B\",\r\n        \"#0073A6\",\r\n        \"#0082AF\",\r\n        \"#0090B8\",\r\n        \"#0F9EC0\",\r\n        \"#29ADC7\",\r\n        \"#3EBBCE\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme1\",\r\n      value: [\r\n        \"#594bb9\",\r\n        \"#f1af32\",\r\n        \"#4688ed\",\r\n        \"#e0563e\",\r\n        \"#803a63\",\r\n        \"#6dd8b5\",\r\n        \"#e87225\",\r\n        \"#c5df42\",\r\n        \"#c6437d\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme2\",\r\n      value: [\r\n        \"#4688ed\",\r\n        \"#f1af32\",\r\n        \"#e0563e\",\r\n        \"#803a63\",\r\n        \"#6dd8b5\",\r\n        \"#e87225\",\r\n        \"#c5df42\",\r\n        \"#c6437d\",\r\n        \"#594bb9\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme3\",\r\n      value: [\r\n        \"#c6437d\",\r\n        \"#c5df42\",\r\n        \"#e87225\",\r\n        \"#6dd8b5\",\r\n        \"#e0563e\",\r\n        \"#803a63\",\r\n        \"#f1af32\",\r\n        \"#594bb9\",\r\n        \"#4688ed\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme4\",\r\n      value: [\r\n        \"#2f499f\",\r\n        \"#8d1d2e\",\r\n        \"#e9bf35\",\r\n        \"#51772f\",\r\n        \"#469bd8\",\r\n        \"#5c448f\",\r\n        \"#da732f\",\r\n        \"#245353\",\r\n        \"#43a245\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme5\",\r\n      value: [\r\n        \"#383839\",\r\n        \"#446ec6\",\r\n        \"#cf6384\",\r\n        \"#ebb37e\",\r\n        \"#71a249\",\r\n        \"#4bb1a5\",\r\n        \"#e87225\",\r\n        \"#c5df42\",\r\n        \"#c6437d\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme6\",\r\n      value: [\r\n        \"#517ae1\",\r\n        \"#6386e5\",\r\n        \"#7491e9\",\r\n        \"#849dec\",\r\n        \"#94a9ef\",\r\n        \"#a4b6f2\",\r\n        \"#b4c3f6\",\r\n        \"#c4cff9\",\r\n        \"#d4ddfd\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme7\",\r\n      value: [\r\n        \"#39828e\",\r\n        \"#488e99\",\r\n        \"#579aa5\",\r\n        \"#66a6b0\",\r\n        \"#75b3bd\",\r\n        \"#85bfc9\",\r\n        \"#95cdd6\",\r\n        \"#a4dae2\",\r\n        \"#b5e8f0\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme8\",\r\n      value: [\r\n        \"#e7963d\",\r\n        \"#ea9e4b\",\r\n        \"#eea659\",\r\n        \"#f0ae68\",\r\n        \"#f2b678\",\r\n        \"#f3bf87\",\r\n        \"#f5c798\",\r\n        \"#f6d0aa\",\r\n        \"#f7d9bb\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme9\",\r\n      value: [\r\n        \"#64a8b4\",\r\n        \"#7ebec0\",\r\n        \"#9cc9ca\",\r\n        \"#b8d4d4\",\r\n        \"#d9d6cd\",\r\n        \"#d8b7a7\",\r\n        \"#ce8f93\",\r\n        \"#c1627f\",\r\n        \"#ad2458\",\r\n      ],\r\n    },\r\n    {\r\n      id: \"theme10\",\r\n      value: [\r\n        \"#4176ba\",\r\n        \"#559ae8\",\r\n        \"#70b3e8\",\r\n        \"#a7cce7\",\r\n        \"#dfdfdf\",\r\n        \"#d2a08b\",\r\n        \"#c76a50\",\r\n        \"#ca4e34\",\r\n        \"#aa3c29\",\r\n      ],\r\n    },\r\n  ];\r\n  startEdit = false;\r\n  public showSubTotalGroup: boolean = false;\r\n  public showgrandTotalGroup: boolean = false;\r\n  public showTableGrandTotalGroup: boolean = false;\r\n  public Current_PortletId;\r\n  public restoreModel: any = [];\r\n  public themeObj = {};\r\n  enableMultipleAxis = false;\r\n  showLegend = false;\r\n  timer;\r\n  tabList;\r\n  activeTab = 1;\r\n  prevId = null;\r\n  dashboard_sidebar = false;\r\n  ActiveDashboardPortlets = [\r\n    {\r\n      config: JSON.stringify({\r\n        portletType: \"empty\",\r\n      }),\r\n      newId: \"xxx111\",\r\n      row: 0,\r\n      col: 0,\r\n      sizeX: 4,\r\n      sizeY: 0,\r\n    },\r\n    {\r\n      config: JSON.stringify({\r\n        portletType: \"empty\",\r\n      }),\r\n      newId: \"xxx222\",\r\n      row: 1,\r\n      col: 0,\r\n      sizeX: 4,\r\n      sizeY: 1,\r\n    },\r\n  ];\r\n  portlets = [];\r\n  hasResize = false;\r\n  private columnChooserClickHandler: (event: MouseEvent) => void;\r\n  private pivotFieldListDialogClickHandler: (event: MouseEvent) => void;\r\n  duplicateOptions = [];\r\n  @ViewChild(\"panesList\", { static: true }) panesList: ElementRef;\r\n  public layoutUtilsService: DialogService;\r\n  constructor(\r\n    public dialog: MatDialog,\r\n    private dialogService: DialogService,\r\n    public dashboardService: DashboardService,\r\n    private api: ApiList,\r\n    private activatedRoute: ActivatedRoute,\r\n    public DashboardPorletsService: DashboardPorletsService,\r\n    private ref: ChangeDetectorRef,\r\n    private router: Router,\r\n    private httpClient: HttpClient,\r\n    private datePipe: DatePipe,\r\n    @Optional() @Inject(PBF_TOKEN) private pbf: any,\r\n    @Optional() @Inject(API_SERVICE_TOKEN) private http: any,\r\n    @Optional() @Inject(ROLE_SERVICE_TOKEN) public rs: any\r\n  ) {\r\n    this.layoutUtilsService = this.dialogService;\r\n    this.router.events\r\n      .pipe(filter((event) => event instanceof NavigationEnd))\r\n      .subscribe((e: NavigationEnd) => {\r\n        // console.log(e.url, this.activatedRoute[\"_routerState\"].snapshot.url);\r\n        if (\r\n          this.hasResize &&\r\n          e.url === this.activatedRoute[\"_routerState\"].snapshot.url\r\n        ) {\r\n          if (this.dashboardLayout) {\r\n            this.ActiveDashboardPortlets = [];\r\n            this.hasResize = false;\r\n            this.pbf.pageLoading = true;\r\n            this.pbf.pageLoading_.next(true);\r\n            this.dashboardLayout.removeAll();\r\n            this.ref.markForCheck();\r\n            setTimeout(() => {\r\n              this.setActiveDashboardPortlets();\r\n            }, 500);\r\n          }\r\n        }\r\n        if (e.url === this.activatedRoute[\"_routerState\"].snapshot.url) {\r\n          this.panesList.nativeElement.scrollTop =\r\n            this.dashboardService.dashboardScrollTopMap[e.url];\r\n        }\r\n      });\r\n    this.router.events\r\n      .pipe(filter((event) => event instanceof NavigationStart))\r\n      .subscribe((e: NavigationStart) => {\r\n        const currentUrl = this.activatedRoute[\"_routerState\"].snapshot.url;\r\n        if (\r\n          e.url !== currentUrl &&\r\n          this.panesList &&\r\n          this.panesList.nativeElement &&\r\n          this.panesList.nativeElement.scrollTop\r\n        ) {\r\n          this.dashboardService.dashboardScrollTopMap[currentUrl] =\r\n            this.panesList.nativeElement.scrollTop;\r\n        }\r\n      });\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.pbf.pageLoading = true;\r\n    this.pbf.pageLoading_.next(true);\r\n    this.ref.markForCheck();\r\n    this.ref.detectChanges();\r\n    this.setDuplicateOptions();\r\n    if (this.themeData && this.themeData.length > 0) {\r\n      this.themeData.forEach((e) => {\r\n        this.themeObj[e.id] = e[\"value\"];\r\n      });\r\n    }\r\n    this.getInfo((res) => {\r\n      this.getRouterUrl();\r\n    });\r\n\r\n    this.subscriptions.push(\r\n      this.pbf.pub$.subscribe((res) => {\r\n        if (\r\n          res.refreshUrl &&\r\n          res.refreshUrl === this.activatedRoute[\"_routerState\"].snapshot.url\r\n        ) {\r\n          this.pbf.pageLoading = true;\r\n          this.pbf.pageLoading_.next(true);\r\n          setTimeout(() => {\r\n            this.getRouterUrl();\r\n          }, 500);\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getDashboardRename().subscribe((res) => {\r\n        if (this.dashboard && this.dashboard.id === res.id) {\r\n          this.dashboard.dashboardGroupName = res.dashboardGroupName;\r\n          this.dashboard.dashboardGroupId = res.dashboardGroupId;\r\n          this.dashboard.description = res.description;\r\n          this.dashboard.name = res.name;\r\n          this.updateDashboardLastUpdateDate();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getCustomizeStatus().subscribe((id) => {\r\n        if (this.dashboard && this.dashboard.id === id) {\r\n          this.ref.markForCheck();\r\n          this.ref.detectChanges();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.pbf.getHasResize().subscribe((url) => {\r\n        if (url) {\r\n          if (this.activatedRoute[\"_routerState\"].snapshot.url === url) {\r\n            if (this.dashboardLayout) {\r\n              this.ActiveDashboardPortlets = [];\r\n              this.dashboardLayout.removeAll();\r\n              this.pbf.pageLoading = true;\r\n              this.pbf.pageLoading_.next(true);\r\n              this.ref.markForCheck();\r\n              setTimeout(() => {\r\n                this.setActiveDashboardPortlets();\r\n              }, 500);\r\n            }\r\n          } else {\r\n            this.hasResize = true;\r\n          }\r\n        }\r\n      })\r\n    );\r\n  }\r\n\r\n  setDuplicateOptions() {\r\n    this.duplicateOptions = [\r\n      {\r\n        text:\r\n          this.translation.DUPLICATE_TO_CURRENT_TAB ||\r\n          \".DUPLICATE_TO_CURRENT_TAB\",\r\n        children: [\r\n          {\r\n            text:\r\n              this.translation.INSERT_AT_BEGINNING || \".INSERT_AT_BEGINNING\",\r\n            action: () => {\r\n              this.getNewPosition();\r\n              const copyPortlet = this.portlets.find(\r\n                (x) => x.newId === this.duplicatePortletId\r\n              );\r\n              this.duplicatePortlet(\r\n                this.activeTab,\r\n                cloneDeep(copyPortlet),\r\n                \"front\"\r\n              );\r\n              this.setActiveDashboardPortlets();\r\n              setTimeout(() => {\r\n                this.getNewPosition();\r\n              }, 100);\r\n            },\r\n          },\r\n          {\r\n            text: this.translation.INSERT_AT_END || \".INSERT_AT_END\",\r\n            action: () => {\r\n              this.getNewPosition();\r\n              const copyPortlet = this.portlets.find(\r\n                (x) => x.newId === this.duplicatePortletId\r\n              );\r\n              this.duplicatePortlet(\r\n                this.activeTab,\r\n                cloneDeep(copyPortlet),\r\n                \"back\"\r\n              );\r\n              this.setActiveDashboardPortlets();\r\n              setTimeout(() => {\r\n                this.getNewPosition();\r\n              }, 100);\r\n            },\r\n          },\r\n        ],\r\n      },\r\n      {\r\n        text:\r\n          this.translation.DUPLICATE_TO_OTHER_TAB || \".DUPLICATE_TO_OTHER_TAB\",\r\n        action: () => {\r\n          const copyPortlet = this.portlets.find(\r\n            (x) => x.newId === this.duplicatePortletId\r\n          );\r\n          const dialogRef = this.dialog.open(DuplicateDialogComponent, {\r\n            data: {\r\n              dialogStyle: {\r\n                width: \"500px\",\r\n                height: \"210px\",\r\n              },\r\n              tabList: this.tabList.filter((tab) => tab.id !== this.activeTab),\r\n            },\r\n            panelClass: \"rs-dialog-wrap\",\r\n            autoFocus: false,\r\n            disableClose: true,\r\n          });\r\n          dialogRef.afterClosed().subscribe((res) => {\r\n            if (res !== \"close\") {\r\n              const { targetTab, position } = res;\r\n              const tabObj = this.tabList.find((tab) => tab.id === targetTab);\r\n              this.onActiveTab(\r\n                tabObj,\r\n                this.tabList.findIndex((tab) => tab.id === targetTab)\r\n              );\r\n              setTimeout(() => {\r\n                this.duplicatePortlet(\r\n                  targetTab,\r\n                  cloneDeep(copyPortlet),\r\n                  position\r\n                );\r\n                this.setActiveDashboardPortlets();\r\n                setTimeout(() => {\r\n                  this.getNewPosition();\r\n                }, 100);\r\n              }, 100);\r\n            }\r\n          });\r\n        },\r\n        children: [],\r\n      },\r\n    ];\r\n  }\r\n\r\n  private getAllFields(item, noDetect = false): Promise<any[]> {\r\n    if (!noDetect) {\r\n      this.pbf.pageLoading = true;\r\n    }\r\n    return new Promise((resolve, reject) => {\r\n      const dataMartCode = item.figureCode;\r\n      const dataObj = {\r\n        language: this.lang,\r\n        dataMartCode,\r\n      };\r\n      this.DashboardPorletsService.setSchemaParams(\r\n        dataObj,\r\n        dataMartCode,\r\n        this.dashboard\r\n      );\r\n      this.http.post(this.api.urlList.GetSchema, dataObj, (res) => {\r\n        if (!noDetect) {\r\n          this.pbf.pageLoading = false;\r\n          this.pbf.pageLoading_.next(true);\r\n        }\r\n        resolve(res);\r\n      });\r\n    });\r\n  }\r\n\r\n  onCloseRight(e) {\r\n    this.push_btn = false;\r\n    this.ref.detectChanges();\r\n  }\r\n\r\n  setActiveDashboardPortlets(noDetect = false) {\r\n    if (this.hasChangeDataTable) {\r\n      this.ActiveDashboardPortlets = [];\r\n      this.ref.markForCheck();\r\n    }\r\n    const portlets =\r\n      this.portlets.filter((portlet) => {\r\n        if (!portlet || !portlet.config) {\r\n          return;\r\n        }\r\n        const config = JSON.parse(portlet.config);\r\n        const tabId = config.tabId || 1;\r\n        if (tabId === this.activeTab) {\r\n          return portlet;\r\n        }\r\n      }) || [];\r\n    setTimeout(() => {\r\n      this.ActiveDashboardPortlets = [...portlets];\r\n      if (\r\n        !this.ActiveDashboardPortlets.length &&\r\n        this.dashboardLayout &&\r\n        this.dashboardLayout.panels &&\r\n        this.dashboardLayout.panels.length\r\n      ) {\r\n        this.dashboardLayout.removeAll();\r\n      }\r\n      this.hasChangeDataTable = false;\r\n      if (!noDetect) {\r\n        this.pbf.pageLoading = false;\r\n      }\r\n      this.pbf.pageLoading_.next(true);\r\n    });\r\n  }\r\n\r\n  getPortletsByTabId(tabId) {\r\n    return this.portlets.filter((portlet) => {\r\n      const config = JSON.parse(portlet.config);\r\n      return config.tabId === tabId;\r\n    });\r\n  }\r\n\r\n  onActiveTab(tab, index) {\r\n    this.dashboard_sidebar = false;\r\n    this.push_btn = false;\r\n    const { id, label } = tab;\r\n    if (tab.id === this.activeTab) {\r\n      return;\r\n    }\r\n    this.activeTabId = id;\r\n    this.activeTabLabel = label;\r\n    if (index !== 0) {\r\n      this.prevId = this.tabList[index - 1].id;\r\n    } else {\r\n      this.prevId = null;\r\n    }\r\n    this.startEdit = false;\r\n    this.activeTab = id;\r\n    this.setActiveDashboardPortlets();\r\n  }\r\n\r\n  onDeleteTab(item, i) {\r\n    this.floatBox.forEach((floatBox, index) => {\r\n      if (index === i) {\r\n        floatBox.opened = \"no\";\r\n      }\r\n    });\r\n    let _title =\r\n      this.translation.ARE_YOU_SURE_TO_DELETE_DASHBOARD_TAB_WARNING_MESSAGE ||\r\n      \".ARE_YOU_SURE_TO_DELETE_DASHBOARD_TAB_WARNING_MESSAGE\";\r\n    // \"This {Tab Name} will be deleted. Do you want to continue?\";\r\n    _title = _title.replace(\"{Tab Name}\", item.label);\r\n    const _no = this.translation.CANCEL || \".CANCEL\";\r\n    const _yes = this.translation.DELETE || \".DELETE\";\r\n    const dialogRef = this.layoutUtilsService.showCommonDilaog({\r\n      title: this.translation.DELETE_RECORD || \".DELETE_RECORD\",\r\n      description: _title,\r\n      saveBtnLabel: _yes,\r\n      cancelBtnLabel: _no,\r\n      size: \"480px\",\r\n    });\r\n    dialogRef.afterClosed().subscribe((res) => {\r\n      if (!res) {\r\n        return;\r\n      }\r\n      const isActive = this.activeTab === item.id;\r\n      let index = 0;\r\n      for (let i = this.portlets.length - 1; i >= 0; i--) {\r\n        const config = JSON.parse(this.portlets[i].config);\r\n        if (config.tabId === this.activeTab) {\r\n          this.portlets.splice(i, 1);\r\n        }\r\n      }\r\n      this.tabList.forEach((tab, i) => {\r\n        if (tab.id === item.id) {\r\n          this.tabList.splice(i, 1);\r\n          index = i;\r\n          this.ref.markForCheck();\r\n          this.ref.detectChanges();\r\n        }\r\n      });\r\n      if (isActive) {\r\n        if (!this.tabList[index]) {\r\n          index -= 1;\r\n        }\r\n        this.activeTab = this.tabList[index].id;\r\n        this.activeTabId = this.activeTab;\r\n        this.portlets.forEach((portlet) => {\r\n          const config = JSON.parse(portlet.config);\r\n          config.activeTab = this.activeTab;\r\n          portlet.config = CircularJSON.stringify(config);\r\n        });\r\n        this.ref.detectChanges();\r\n        this.onActiveTab(this.tabList[index], index);\r\n      }\r\n      this.savedashboard(\"true\");\r\n    });\r\n  }\r\n\r\n  onAddTab() {\r\n    const label = `Tab ${this.tabList.length + 1}`;\r\n    this.prevId = this.tabList[this.tabList.length - 1].id;\r\n    let newId = 1;\r\n    this.tabList.forEach((tab) => {\r\n      newId = Math.max(newId, tab.id);\r\n    });\r\n    this.activeTab = newId + 1;\r\n    this.tabList.push({\r\n      id: this.activeTab,\r\n      label,\r\n      displayLabel: `${this.translation.TAB || \"Tab\"} ${\r\n        this.tabList.length + 1\r\n      }`,\r\n    });\r\n    this.activeTabId = this.activeTab;\r\n    this.activeTabLabel = label;\r\n    // 隐藏右侧菜单，清除当前选中的portlet\r\n    this.portlet = null;\r\n    this.dashboard_sidebar = false;\r\n    this.hasChangeDataTable = true;\r\n    this.push_btn = false;\r\n    this.setActiveDashboardPortlets();\r\n  }\r\n\r\n  setTabInput(e) {\r\n    this.portlets.forEach((portlet) => {\r\n      const _config = JSON.parse(portlet.config);\r\n      const _tabId = _config.tabId || 1;\r\n      if (_tabId === this.activeTab) {\r\n        _config.tabLabel = e.target.value;\r\n        portlet.config = CircularJSON.stringify(_config);\r\n      }\r\n    });\r\n    this.ref.markForCheck();\r\n    this.ref.detectChanges();\r\n  }\r\n\r\n  saveTabInput(item) {\r\n    this.startEdit = false;\r\n    item.displayLabel = this.truncateText(item.label);\r\n    this.ref.markForCheck();\r\n    this.ref.detectChanges();\r\n  }\r\n\r\n  onStartEdit(id) {\r\n    if (!this.customized) {\r\n      return;\r\n    }\r\n    if (this.activeTab !== id) {\r\n      return;\r\n    }\r\n    this.startEdit = true;\r\n  }\r\n\r\n  private initTabList(noDetect = false) {\r\n    this.tabList = [];\r\n    if (!this.activeTab || !this.stayActiveTab) {\r\n      this.activeTab = 1;\r\n    }\r\n    this.prevId = null;\r\n    const tabMap = {};\r\n    this.portlets.forEach((portlet, idx) => {\r\n      if (portlet.config) {\r\n        const config = JSON.parse(portlet.config);\r\n        const txt = this.translation[\"TAB\"] || \"Tab\";\r\n        if (config.activeTab && !this.stayActiveTab) {\r\n          this.activeTab = config.activeTab;\r\n        }\r\n        const tabId = config.tabId || 1;\r\n        const tabLabel = config.tabLabel || \"Tab 1\";\r\n        let displayLabel = config.tabLabel || `${txt} 1`;\r\n        if (config.tabLabel && config.tabLabel.startsWith(\"Tab\")) {\r\n          displayLabel = txt + config.tabLabel.slice(3);\r\n        }\r\n        if (!tabMap[tabId]) {\r\n          this.tabList.push({\r\n            id: tabId,\r\n            label: tabLabel,\r\n            displayLabel: tabLabel\r\n              ? this.truncateText(displayLabel)\r\n              : `${this.translation.TAB || \"Tab\"} 1`,\r\n          });\r\n          tabMap[tabId] = true;\r\n        }\r\n\r\n        // if (!this.activeTabId) {\r\n        // \tthis.activeTab = tabId;\r\n        // \tthis.activeTabId = tabId;\r\n        // \tthis.activeTabLabel = tabLabel;\r\n        // }\r\n      }\r\n    });\r\n\r\n    if (!this.tabList.length) {\r\n      this.tabList = [\r\n        {\r\n          id: 1,\r\n          label: \"Tab 1\",\r\n          displayLabel: `${this.translation.TAB || \"Tab\"} 1`,\r\n        },\r\n      ];\r\n      this.activeTabId = 1;\r\n      this.activeTabLabel = \"Tab 1\";\r\n    }\r\n\r\n    this.tabList = this.tabList.sort((a, b) => a.id - b.id);\r\n    const activeTab =\r\n      this.tabList.find((i) => i.id === this.activeTab) || this.tabList[0];\r\n    if (activeTab.id) {\r\n      this.activeTabId = activeTab.id;\r\n      this.activeTabLabel = activeTab.label;\r\n    }\r\n    this.stayActiveTab = false;\r\n    this.setPrevId();\r\n    if (!noDetect) {\r\n      this.setActiveDashboardPortlets();\r\n    }\r\n  }\r\n\r\n  async initlayout(shouldGetFields = false, noDetect = false) {\r\n    if (!shouldGetFields) {\r\n      this.initTabList(noDetect);\r\n    }\r\n    if (this.portlets && this.portlets.length > 0) {\r\n      for (let portlet of this.portlets) {\r\n        portlet.newId = \"portlet_\" + this.pbf.Guid();\r\n        portlet.col = portlet.posX;\r\n        portlet.row = portlet.posY;\r\n        portlet.sizeX = portlet.width;\r\n        portlet.sizeY = portlet.height;\r\n      }\r\n\r\n      this.initCharData(noDetect);\r\n      this.setActiveDashboardPortlets(noDetect);\r\n    } else {\r\n      this.ActiveDashboardPortlets = [];\r\n      this.dashboardLayout.removeAll();\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.subscriptions.push(\r\n      this.pbf.getTriggerDashboardFilterChange().subscribe((e) => {\r\n        const dashboarId = e[\"id\"];\r\n        const newId = e[\"newId\"];\r\n        if (dashboarId !== this.dashboard.id) {\r\n          return;\r\n        }\r\n        this.filterData(newId);\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService\r\n        .getchangelayout()\r\n        .subscribe(({ status, id = \"\" }) => {\r\n          if (this.dashboard && this.dashboard.id === id) {\r\n            const params = status === \"true\" ? false : true;\r\n            this.initlayout(params);\r\n          }\r\n        })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.editProperties().subscribe(({ status, id }) => {\r\n        if (!this.dashboard || this.dashboard.id !== id || this.timer) {\r\n          return;\r\n        }\r\n        this.timer = setTimeout(() => {\r\n          this.timer = null;\r\n        }, 200);\r\n        this.dialog.closeAll();\r\n        this.dialog\r\n          .open(DataMartNewComponent, {\r\n            data: {\r\n              edit: status,\r\n              dashboardId: this.url_id,\r\n              dashboard: this.dashboard,\r\n              showZoomBtn: true,\r\n              dialogStyle: {\r\n                width: \"1000px\",\r\n                height: \"840px\",\r\n              },\r\n            },\r\n\r\n            panelClass: \"rs-dialog-wrap\",\r\n            autoFocus: false,\r\n            disableClose: true,\r\n          })\r\n          .afterClosed()\r\n          .subscribe((e) => {\r\n            if (e === \"close\") {\r\n              return;\r\n            }\r\n            const { push_btn, portlet, dashboard } = e;\r\n            this.dashboard = cloneDeep(dashboard);\r\n            this.portlet = cloneDeep(portlet);\r\n            this.push_btn = push_btn;\r\n            this.dashboardService.updateDatamartEntity.next(this.dashboard);\r\n            this.ref.markForCheck();\r\n            this.ref.detectChanges();\r\n          });\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getDownloadDashbord().subscribe((id) => {\r\n        if (this.dashboard && this.dashboard.id === id) {\r\n          this.downloadAll();\r\n          // for (let item of this.ActiveDashboardPortlets) {\r\n          // \tthis.download(item);\r\n          // }\r\n        }\r\n      })\r\n    );\r\n    this.subscriptions.push(\r\n      this.dashboardService.getaddportlet().subscribe((id) => {\r\n        if (this.dashboard && this.dashboard.id === id) {\r\n          if (this.portlet) {\r\n            this.portlets.push(this.portlet);\r\n          }\r\n\r\n          let config: any =\r\n            this.portlet.config instanceof String\r\n              ? JSON.parse(this.portlet.config)\r\n              : this.portlet.config;\r\n          if (typeof config === \"string\") {\r\n            config = JSON.parse(config);\r\n          }\r\n\r\n          const portletType =\r\n            config.portletType === \"historicalIRR\"\r\n              ? config.selectedVisualType\r\n              : config.portletType;\r\n\r\n          // 只有新增的Porlet是图表类才需要初始化\r\n          if (\r\n            this.portlet &&\r\n            this.portlet.config &&\r\n            [\"newcolumn\", \"newline\", \"newcolumnline\"].includes(portletType)\r\n          ) {\r\n            this.initCharData(); // 拼接Chart需要用的数据源\r\n          }\r\n          this.getNewPosition();\r\n          this.setActiveDashboardPortlets();\r\n        }\r\n      })\r\n    );\r\n    this.subscriptions.push(\r\n      this.dashboardService.getLeftMenuBar().subscribe((open) => {\r\n        let width = this.panesList.nativeElement.offsetWidth;\r\n        if (open) {\r\n          this.panesList.nativeElement.style.width = width - 195 + \"px\";\r\n        } else {\r\n          this.panesList.nativeElement.style.width = width + 195 + \"px\";\r\n        }\r\n      })\r\n    );\r\n  }\r\n\r\n  @debounce(100)\r\n  private filterData(id) {\r\n    this.chartUpdate(id);\r\n  }\r\n\r\n  chartUpdate(id?: string) {\r\n    this.hasChangeDataTable = true;\r\n    if (id) {\r\n      this.dashboardService.chartUpdate.next(id);\r\n    }\r\n    this.initCharData(); // 拼接Chart需要用的数据源\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.subscriptions.forEach((sub) => {\r\n      sub.unsubscribe();\r\n    });\r\n    // 清理 column chooser 点击事件监听器\r\n    if (this.columnChooserClickHandler) {\r\n      document.removeEventListener(\"click\", this.columnChooserClickHandler);\r\n      this.columnChooserClickHandler = null;\r\n    }\r\n    // 清理 pivot field list dialog 点击事件监听器\r\n    if (this.pivotFieldListDialogClickHandler) {\r\n      document.removeEventListener(\r\n        \"click\",\r\n        this.pivotFieldListDialogClickHandler\r\n      );\r\n      this.pivotFieldListDialogClickHandler = null;\r\n    }\r\n  }\r\n  private getInfo(callback) {\r\n    this.translation = getTranslation();\r\n    this.lang = this.pbf.getLanguageParams();\r\n    this.datePipeFormat = localStorage.getItem(\"datePipe\");\r\n    this.userInfo = JSON.parse(localStorage.getItem(\"userInfo\"));\r\n    console.log(\"getInfo\", this.userInfo);\r\n    callback();\r\n  }\r\n\r\n  public getPorletConfig(portlet) {\r\n    if (!portlet.config) {\r\n      return;\r\n    }\r\n    const config = JSON.parse(portlet.config);\r\n    if (!config.pvtableChartSetting) {\r\n      return;\r\n    }\r\n    this.showLegend =\r\n      !!config.pvtableChartSetting.chartSettings.legendSettings.visible;\r\n    this.enableMultipleAxis =\r\n      config.pvtableChartSetting.chartSettings.enableMultipleAxis;\r\n    this.ref.markForCheck();\r\n    this.ref.detectChanges();\r\n  }\r\n\r\n  updateTheme(e) {\r\n    const {\r\n      selectedX,\r\n      selectedY,\r\n      selectedSecondY,\r\n      selectedMultiples,\r\n      selectTheme,\r\n    } = e;\r\n    this.selectedX = selectedX;\r\n    this.selectedY = selectedY;\r\n    this.selectedSecondY = selectedSecondY;\r\n    this.selectedMultiples = selectedMultiples;\r\n    this.selectTheme = selectTheme;\r\n  }\r\n\r\n  updateDashboard(e) {\r\n    const { portlets, dashboard, noDetect, stayActiveTab } = e;\r\n    this.stayActiveTab = stayActiveTab;\r\n    this.dashboard = cloneDeep(dashboard);\r\n    this.portlets = [...portlets];\r\n    if (!noDetect) {\r\n      this.ref.markForCheck();\r\n    }\r\n    setTimeout(() => {\r\n      this.dashboardService.updateDatamartEntity.next(dashboard);\r\n    });\r\n  }\r\n\r\n  updatePorletConfig(e) {\r\n    const { newId, config } = e;\r\n    const _config = Object.assign({}, config);\r\n    this.portlet.config = CircularJSON.stringify(_config);\r\n    this.portlets.forEach((portlet, i) => {\r\n      if (portlet.newId === newId) {\r\n        this.portlets[i].config = CircularJSON.stringify(_config);\r\n      }\r\n    });\r\n    this.portlets = [...this.portlets];\r\n    this.setActiveDashboardPortlets();\r\n  }\r\n\r\n  public edit(item) {\r\n    const config = JSON.parse(item.config);\r\n    const portletType =\r\n      config.portletType === \"historicalIRR\"\r\n        ? config.selectedVisualType\r\n        : config.portletType;\r\n    if ([\"newcolumn\", \"newline\", \"newcolumnline\"].includes(portletType)) {\r\n      this.selectedY = config[\"selectedY\"];\r\n      this.selectedSecondY = config.selectedSecondY;\r\n      this.selectedX = config[\"selectedX\"];\r\n      this.selectedMultiples = config[\"selectedMultiples\"];\r\n      this.selectTheme = config[\"selectTheme\"];\r\n    }\r\n    this.portlet = cloneDeep(item);\r\n    if (this.push_btn) {\r\n      this.sidebar.portlet = this.portlet;\r\n    }\r\n    this.dashboard_sidebar = true;\r\n    this.push_btn = true;\r\n    this.figureCode = item.figureCode;\r\n    this.tabactive = false;\r\n    this.ref.detectChanges();\r\n    this.dashboardService.portletEdit.next(this.url_id);\r\n  }\r\n\r\n  @debounce(300)\r\n  GetgadgetTitle(config) {\r\n    if (config && config !== \"null\") {\r\n      let config_ = JSON.parse(config);\r\n      return config_.gadgetTitle;\r\n    } else {\r\n      return \"\";\r\n    }\r\n  }\r\n\r\n  public getPortletType(item) {\r\n    const config = item && item.config ? JSON.parse(item.config) : {};\r\n    if (config.portletType) {\r\n      if (config.portletType === \"historicalIRR\") {\r\n        return config.selectedVisualType;\r\n      }\r\n      return config.portletType;\r\n    }\r\n    return \"\";\r\n  }\r\n\r\n  public delete(item) {\r\n    const index = this.portlets.findIndex((x) => x.newId === item.newId);\r\n    this.dashboardLayout.removePanel(item.newId);\r\n    this.portlets.splice(index, 1);\r\n    this.setActiveDashboardPortlets();\r\n    this.getNewPosition();\r\n  }\r\n\r\n  // public copyPortlet(item) {\r\n  // \tconst portlet = { ...item };\r\n  // \tportlet.id = \"00000000-0000-0000-0000-000000000000\";\r\n  // \tportlet.newId = \"portlet_\" + this.pbf.Guid();\r\n  // \t// 处理 1.复制别的复制体  2.新建的个体 3.已存在的个体\r\n  // \tportlet.copyId = portlet.copyId\r\n  // \t\t? portlet.copyId\r\n  // \t\t: item.id === \"00000000-0000-0000-0000-000000000000\"\r\n  // \t\t? item.newId\r\n  // \t\t: item.id;\r\n  // \tthis.DashboardPorletsService.portletData_New[this.dashboard.id][\r\n  // \t\tportlet.newId\r\n  // \t] = cloneDeep(\r\n  // \t\tthis.DashboardPorletsService.portletData_New[this.dashboard.id][\r\n  // \t\t\tportlet.copyId\r\n  // \t\t]\r\n  // \t);\r\n  // \tthis.portlets.push(portlet);\r\n  // \tthis.setActiveDashboardPortlets();\r\n  // \tthis.getNewPosition();\r\n  // }\r\n  setGadgetTitle(tabId: number, originalGadgetTitle: string): string {\r\n    const duplicatePrefix = \"Duplicate of \";\r\n    const baseTitle = duplicatePrefix + originalGadgetTitle;\r\n\r\n    // 获取当前 tabId 下所有 portlets 的 gadgetTitle\r\n    const currentTabPortlets = this.portlets.filter((portlet) => {\r\n      try {\r\n        const config = JSON.parse(portlet.config);\r\n        return config.tabId === tabId;\r\n      } catch (e) {\r\n        return false;\r\n      }\r\n    });\r\n\r\n    // 收集当前 tab 下所有已存在的 gadgetTitle\r\n    const existingTitles = currentTabPortlets\r\n      .map((portlet) => {\r\n        try {\r\n          const config = JSON.parse(portlet.config);\r\n          return config.gadgetTitle || \"\";\r\n        } catch (e) {\r\n          return \"\";\r\n        }\r\n      })\r\n      .filter((title) => title);\r\n\r\n    // 检查是否存在完全匹配的基础标题\r\n    const hasExactMatch = existingTitles.some((title) => title === baseTitle);\r\n\r\n    // 查找所有匹配 \"Duplicate of \" + 原标题 + \"(数字)\" 格式的标题\r\n    const pattern = new RegExp(\r\n      `^${this.escapeRegex(duplicatePrefix)}${this.escapeRegex(\r\n        originalGadgetTitle\r\n      )}\\\\((\\\\d+)\\\\)$`\r\n    );\r\n    let maxNumber = 0;\r\n    let hasNumberedDuplicate = false;\r\n\r\n    existingTitles.forEach((title) => {\r\n      const match = title.match(pattern);\r\n      if (match) {\r\n        hasNumberedDuplicate = true;\r\n        const number = parseInt(match[1], 10);\r\n        if (!isNaN(number) && number > maxNumber) {\r\n          maxNumber = number;\r\n        }\r\n      }\r\n    });\r\n\r\n    // 如果既没有完全匹配，也没有带数字的匹配，返回基础标题\r\n    if (!hasExactMatch && !hasNumberedDuplicate) {\r\n      return baseTitle;\r\n    }\r\n\r\n    // 存在重名，返回带数字的标题（数字从1开始，或最大数字+1）\r\n    return `${baseTitle}(${maxNumber + 1})`;\r\n  }\r\n\r\n  private escapeRegex(str: string): string {\r\n    return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\r\n  }\r\n\r\n  duplicatePortlet(\r\n    tabId: number, // 当前 tabid\r\n    copyPortlet: any, // 要复制的 portlet\r\n    position: \"front\" | \"back\" = \"back\"\r\n  ) {\r\n    console.log(\"duplicatePortlet\", this.portlets);\r\n\r\n    const COLUMNS = 4; // 容器宽度为 4 列\r\n\r\n    const newPortlet = { ...copyPortlet };\r\n    newPortlet.id = \"00000000-0000-0000-0000-000000000000\";\r\n    newPortlet.newId = \"portlet_\" + this.pbf.Guid();\r\n    // 处理 1.复制别的复制体  2.新建的个体 3.已存在的个体\r\n    newPortlet.copyId = newPortlet.copyId\r\n      ? newPortlet.copyId\r\n      : copyPortlet.id === \"00000000-0000-0000-0000-000000000000\"\r\n      ? copyPortlet.newId\r\n      : copyPortlet.id;\r\n    const copyConfig = JSON.parse(copyPortlet.config);\r\n    const originalGadgetTitle = copyConfig.gadgetTitle || \"\";\r\n    newPortlet.config = JSON.stringify({\r\n      ...copyConfig,\r\n      tabId: tabId,\r\n      gadgetTitle: this.setGadgetTitle(tabId, originalGadgetTitle),\r\n      tabLabel: this.tabList.find((t) => t.id === tabId).label,\r\n    });\r\n    if (position === \"front\") {\r\n      // 放在最前面：新 portlet 放在 row 0, col 0，其他 portlet 向下移动\r\n      newPortlet.row = 0;\r\n      newPortlet.col = 0;\r\n      newPortlet.posX = 0;\r\n      newPortlet.posY = 0;\r\n      this.portlets = this.portlets.map((portlet) => {\r\n        const config = JSON.parse(portlet.config);\r\n        if (config.tabId === tabId) {\r\n          return {\r\n            ...portlet,\r\n            row: portlet.row + newPortlet.sizeY,\r\n            posY: portlet.row + newPortlet.sizeY,\r\n          };\r\n        }\r\n        return portlet;\r\n      });\r\n\r\n      this.DashboardPorletsService.portletData_New[this.dashboard.id][\r\n        newPortlet.newId\r\n      ] = cloneDeep(\r\n        this.DashboardPorletsService.portletData_New[this.dashboard.id][\r\n          newPortlet.copyId\r\n        ]\r\n      );\r\n      this.portlets.push(newPortlet);\r\n    } else {\r\n      // 放在最后面：找到最后一行，查找可用位置\r\n      // 获取同一 tabId 的所有 portlet\r\n      const sameTabPortlets = this.portlets.filter((p) => {\r\n        try {\r\n          const config = JSON.parse(p.config);\r\n          return config.tabId === tabId;\r\n        } catch (e) {\r\n          return false;\r\n        }\r\n      });\r\n\r\n      const maxEndRow =\r\n        sameTabPortlets.length > 0\r\n          ? Math.max(...sameTabPortlets.map((p) => p.row + p.sizeY - 1))\r\n          : -1;\r\n\r\n      // 查找可用位置的辅助函数\r\n      const findAvailablePosition = (\r\n        startRow: number\r\n      ): { row: number; col: number } => {\r\n        for (let row = startRow; row <= startRow + 10; row++) {\r\n          for (let col = 0; col <= COLUMNS - newPortlet.sizeX; col++) {\r\n            // 只检查同一 tabId 的 portlet 是否占用位置\r\n            const isOccupied = sameTabPortlets.some((p) => {\r\n              const pEndRow = p.row + p.sizeY - 1;\r\n              const pEndCol = p.col + p.sizeX - 1;\r\n              const newEndRow = row + newPortlet.sizeY - 1;\r\n              const newEndCol = col + newPortlet.sizeX - 1;\r\n              const rowOverlap = !(pEndRow < row || p.row > newEndRow);\r\n              const colOverlap = !(pEndCol < col || p.col > newEndCol);\r\n              return rowOverlap && colOverlap;\r\n            });\r\n\r\n            if (!isOccupied) {\r\n              return { row, col };\r\n            }\r\n          }\r\n        }\r\n        return { row: maxEndRow + 1, col: 0 };\r\n      };\r\n\r\n      const pos = findAvailablePosition(maxEndRow + 1);\r\n      newPortlet.row = pos.row;\r\n      newPortlet.col = pos.col;\r\n      newPortlet.posX = pos.col;\r\n      newPortlet.posY = pos.row;\r\n      this.DashboardPorletsService.portletData_New[this.dashboard.id][\r\n        newPortlet.newId\r\n      ] = cloneDeep(\r\n        this.DashboardPorletsService.portletData_New[this.dashboard.id][\r\n          newPortlet.copyId\r\n        ]\r\n      );\r\n      this.portlets.push(newPortlet);\r\n      // console.log('this.portlets',this.portlets);\r\n    }\r\n  }\r\n  duplicatePortletId;\r\n  onMenuOpen(item: any) {\r\n    if (item && item.newId) {\r\n      this.duplicatePortletId = item.newId;\r\n    }\r\n  }\r\n\r\n  onMenuClose(item: any) {\r\n    if (item && item.newId) {\r\n      this.duplicatePortletId = null;\r\n    }\r\n  }\r\n  public getAsofdate(item) {\r\n    return JSON.parse(item.config).asOfDate;\r\n  }\r\n  public getCurrency(config) {\r\n    return JSON.parse(config).currencyCode;\r\n  }\r\n  public getFigurecode(figureCode) {\r\n    switch (figureCode) {\r\n      case \"Tasks\":\r\n        return 1;\r\n      case \"FundList\":\r\n        return 2;\r\n      case \"IRR\":\r\n        return 3;\r\n      case \"Notes\":\r\n        return 4;\r\n      default:\r\n        return 0;\r\n    }\r\n  }\r\n  public getTableName(item) {\r\n    let config = item.config ? JSON.parse(item.config) : {};\r\n    if (config.portletType) {\r\n      let typeList = [\"table\", \"financialTable\", \"transpose\", \"pivot\"];\r\n      let idx = typeList.indexOf(config.portletType);\r\n      return idx > -1 ? true : false;\r\n    }\r\n  }\r\n\r\n  public pushSlider() {\r\n    this.push_btn = !this.push_btn;\r\n  }\r\n\r\n  private getFigureCode(figureCode) {\r\n    let codeArr = [\"Tasks\", \"FundList\", \"IRR\", \"Notes\"];\r\n    let i = codeArr.indexOf(figureCode);\r\n    return i > -1 ? true : false;\r\n  }\r\n  x;\r\n  y;\r\n\r\n  private getAllTable(): Promise<any[]> {\r\n    return new Promise((resolve) => {\r\n      let data = {\r\n        accountId: this.userInfo.accountId,\r\n        language: this.lang,\r\n        dashboardVersion: 2,\r\n      };\r\n      this.http.get(this.api.urlList.GetSources, data, (res) => {\r\n        if (res && res.length) {\r\n          resolve(res);\r\n          return;\r\n        }\r\n        resolve([]);\r\n      });\r\n    });\r\n  }\r\n\r\n  private async getRouterUrl() {\r\n    const allTable = await this.getAllTable();\r\n    this.url = \"dashboardDetail\";\r\n    let url_arr = this.pbf.getRouterUrl().split(\"?\");\r\n    this.url_id = this.pbf.getUrlId(url_arr[0]);\r\n    this.url_type =\r\n      url_arr[1] == \"dashboardType=customized\"\r\n        ? \"customized\"\r\n        : url_arr[1] == \"dashboardType=shared\"\r\n        ? \"shared\"\r\n        : \"\";\r\n    this.DashboardPorletsService.GetDashboardV1(\r\n      this.url_id,\r\n      true,\r\n      (res, portlets = []) => {\r\n        const queryParams = this.activatedRoute.snapshot.queryParams;\r\n        if (queryParams.template && this.dashboardService.initTemplate) {\r\n          this.dashboardService.updateDatamartEntity.next(this.dashboard);\r\n          return;\r\n        }\r\n        this.hasInit = true;\r\n        if (!res) {\r\n          this.pbf.pageLoading = false;\r\n          this.pbf.pageLoading_.next(true);\r\n          return;\r\n        }\r\n        this.portlets = [...portlets];\r\n        this.initlayout(false, true);\r\n        setTimeout(() => {\r\n          this.dashboardService.updateDatamartEntity.next(this.dashboard);\r\n          // this.chartUpdate();\r\n          this.pbf.pageLoading = false;\r\n          this.pbf.pageLoading_.next(true);\r\n        }, 500);\r\n      },\r\n      false,\r\n      (res) => {\r\n        this.dashboard = Object.assign({}, res);\r\n        this.DashboardPorletsService.getInfo();\r\n\r\n        this.DashboardPorletsService.setAllDashboard(this.dashboard);\r\n        if (this.dashboardLayout) {\r\n          this.dashboardLayout.refresh();\r\n        }\r\n        this.ref.markForCheck();\r\n        this.ref.detectChanges();\r\n      },\r\n      allTable\r\n    );\r\n  }\r\n  public routerPage() {\r\n    this.router.navigateByUrl(\"/pages/dashboard/dashboardlist\");\r\n  }\r\n\r\n  public getDashboard() {\r\n    this.getRouterUrl();\r\n  }\r\n\r\n  public displayIconPrompt(item) {\r\n    return JSON.parse(item.config).portletType ||\r\n      this.getFigureCode(item.figureCode)\r\n      ? false\r\n      : true;\r\n  }\r\n  public async configurations(item, event) {\r\n    const portletType = this.getPortletType(item);\r\n    switch (portletType) {\r\n      case \"table\":\r\n        const table = find(\r\n          (this.table as any)._results,\r\n          (el) => el.portlet.newId === item.newId\r\n        );\r\n        if (\r\n          table.grid &&\r\n          table.grid.getCurrentViewRecords() &&\r\n          table.grid.getCurrentViewRecords().length\r\n        ) {\r\n          let _y = 0;\r\n          if (event && event.target) {\r\n            const { y } = event.target.getBoundingClientRect();\r\n            if (document.body.clientHeight - y < 400) {\r\n              _y = -415;\r\n            }\r\n          }\r\n          const lf = table.grid ? table.grid.element.offsetWidth - 300 : 200;\r\n          table.grid &&\r\n            table.grid.columnChooserModule &&\r\n            table.grid.columnChooserModule.openColumnChooser(lf, _y);\r\n        }\r\n        break;\r\n      case \"newchart\":\r\n      case \"pivot\":\r\n        const pivot = find(\r\n          (this.pivot as any)._results,\r\n          (el) => el.portlet.newId === item.newId\r\n        );\r\n        if (\r\n          pivot.fieldlistObj.dialogRenderer &&\r\n          pivot.fieldlistObj.dialogRenderer.fieldListDialog\r\n        ) {\r\n          pivot.fieldlistObj.dialogRenderer.fieldListDialog.show();\r\n        }\r\n        break;\r\n      case \"transpose\":\r\n        const transpose = find(\r\n          (this.transpose as any)._results,\r\n          (el) => el.portlet.newId === item.newId\r\n        );\r\n        // 开启适配 手动缩小\r\n        transpose.grid.columnChooserModule.showCustomColumnChooser();\r\n        setTimeout(() => {\r\n          let dlg: any = document.querySelector(\r\n            \".e-rescolumnchooserdiv.e-responsive-dialog\"\r\n          );\r\n          dlg.parentElement.classList.add(\"e-custom-columnchooser\");\r\n          if (dlg) {\r\n            dlg.style.opacity = 1;\r\n            dlg.style.setProperty(\"width\", \"300px\", \"important\");\r\n            dlg.style.setProperty(\"height\", \"350px\", \"important\");\r\n            dlg.style.setProperty(\"position\", \"absolute\", \"important\");\r\n            dlg.style.setProperty(\r\n              \"left\",\r\n              event.clientX - 270 + \"px\",\r\n              \"important\"\r\n            );\r\n            dlg.style.setProperty(\r\n              \"top\",\r\n              event.clientY + 30 + \"px\",\r\n              \"important\"\r\n            );\r\n            const panel = dlg.querySelector(\".e-popup.e-dialog\");\r\n            if (panel) {\r\n              panel.style.setProperty(\"display\", \"inline-flex\", \"important\");\r\n            }\r\n          }\r\n          this.ref.detectChanges();\r\n        }, 0);\r\n        break;\r\n    }\r\n  }\r\n\r\n  private setPrevId() {\r\n    this.tabList.forEach((tab, i) => {\r\n      if (tab.id === this.activeTab) {\r\n        if (this.tabList[i - 1]) {\r\n          this.prevId = this.tabList[i - 1].id;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  drop(e) {\r\n    const { previousIndex, currentIndex } = e;\r\n    const prevId = this.tabList[previousIndex].id;\r\n    const currId = this.tabList[currentIndex].id;\r\n\r\n    for (let i = this.tabList.length - 1; i >= 0; i--) {\r\n      const tabId = this.tabList[i].id;\r\n      if (tabId === prevId) {\r\n        this.tabList[i].id = currId;\r\n      }\r\n      if (tabId === currId) {\r\n        this.tabList[i].id = prevId;\r\n      }\r\n    }\r\n    for (let i = this.portlets.length - 1; i >= 0; i--) {\r\n      const config = JSON.parse(this.portlets[i].config);\r\n      const tabId = config.tabId;\r\n      if (tabId === prevId) {\r\n        config.tabId = currId;\r\n        this.portlets[i].config = JSON.stringify(config);\r\n      }\r\n      if (tabId === currId) {\r\n        config.tabId = prevId;\r\n        this.portlets[i].config = JSON.stringify(config);\r\n      }\r\n    }\r\n    if (this.activeTab === currId) {\r\n      this.activeTab = prevId;\r\n    } else if (this.activeTab === prevId) {\r\n      this.activeTab = currId;\r\n    }\r\n    this.setPrevId();\r\n    [this.tabList[previousIndex], this.tabList[currentIndex]] = [\r\n      this.tabList[currentIndex],\r\n      this.tabList[previousIndex],\r\n    ];\r\n    this.tabList = [...this.tabList];\r\n\r\n    this.ref.markForCheck();\r\n  }\r\n  closeAll() {\r\n    this.ActiveDashboardPortlets.forEach((portlet) => {\r\n      const portletType = this.getPortletType(portlet);\r\n      switch (portletType) {\r\n        case \"pivot\":\r\n        case \"newchart\":\r\n          const currentDialog = document.querySelector(\r\n            \".e-ccdlg\"\r\n          ) as HTMLElement;\r\n          // 检查 target 是否在包含 pivotfieldlist 的 dialog 内\r\n          const dialogElement = document.querySelector(\".e-dialog\");\r\n          const pivot = find(\r\n            (this.pivot as any)._results,\r\n            (el) => el.portlet.newId === portlet.newId\r\n          );\r\n          try {\r\n            if (pivot.fieldlistObj.dialogRenderer.fieldListDialog.hide) {\r\n              pivot.fieldlistObj.dialogRenderer.fieldListDialog.hide();\r\n            }\r\n          } catch (error) {\r\n            // 如果 hide 方法不可用，尝试查找关闭按钮\r\n            const closeBtn = currentDialog.querySelector(\r\n              \".e-dialog-closeicon\"\r\n            ) as HTMLElement;\r\n            if (closeBtn) {\r\n              closeBtn.click();\r\n            } else {\r\n              // 如果找不到关闭按钮，直接隐藏元素\r\n              (dialogElement as HTMLElement).style.display = \"none\";\r\n              // 移除弹窗的父容器（如果有）\r\n              const overlay = dialogElement.closest(\".e-overlay\");\r\n              if (overlay) {\r\n                (overlay as HTMLElement).style.display = \"none\";\r\n              }\r\n            }\r\n          }\r\n          break;\r\n        case \"table\":\r\n          const cancelBtn = document.querySelector(\".e-cc-cnbtn\");\r\n          if (cancelBtn) {\r\n            // @ts-ignore\r\n            cancelBtn.click();\r\n            // 清理 column chooser 点击事件监听器\r\n            if (this.columnChooserClickHandler) {\r\n              document.removeEventListener(\r\n                \"click\",\r\n                this.columnChooserClickHandler\r\n              );\r\n              this.columnChooserClickHandler = null;\r\n            }\r\n          }\r\n          break;\r\n      }\r\n    });\r\n  }\r\n\r\n  allowDownloadTypes = [\r\n    \"table\",\r\n    \"newchart\",\r\n    \"pivot\",\r\n    \"newcolumn\",\r\n    \"newline\",\r\n    \"newcolumnline\",\r\n  ];\r\n  downloadCachePortlets = [];\r\n  public downloadAll() {\r\n    // const dialogRef = this.dialog.open(PaneDownloadComponent, {\r\n    // \tdata: {\r\n    // \t\tportlets: this.portlets,\r\n    // \t\tdashboard: this.dashboard,\r\n    // \t},\r\n    // \theight: \"850px\",\r\n    // \twidth: \"562px\",\r\n    // });\r\n    // dialogRef.afterClosed().subscribe((res) => {});\r\n\r\n    this.layoutUtilsService.showLoadingNotification({\r\n      loadingCallback: async (cb) => {\r\n        const sheetList = [\r\n          {\r\n            name: \"Parameter Page\",\r\n            sheet: await this.getParameterSheet(),\r\n          },\r\n        ];\r\n\r\n        const portlets = this.portlets.filter((portlet) => {\r\n          const portletType = this.getPortletType(portlet);\r\n          return this.allowDownloadTypes.includes(portletType);\r\n        });\r\n        portlets.sort((a, b) => {\r\n          const aTabId = JSON.parse(a.config).tabId;\r\n          const bTabId = JSON.parse(b.config).tabId;\r\n          return aTabId - bTabId;\r\n        });\r\n        const currentActivePortletIds = new Set(\r\n          this.ActiveDashboardPortlets.map((i) => i.newId)\r\n        );\r\n        this.downloadCachePortlets = portlets.filter(\r\n          (portlet) => !currentActivePortletIds.has(portlet.newId)\r\n        );\r\n        this.ref.markForCheck();\r\n\r\n        const startDownloadMap = new Map<string, () => void>();\r\n        const subscription = this.pbf.dashboardReadyDownload.subscribe((id) => {\r\n          const startDownload = startDownloadMap.get(id);\r\n          if (typeof startDownload === \"function\") {\r\n            setTimeout(() => startDownload(), 500);\r\n          }\r\n          startDownloadMap.delete(id);\r\n        });\r\n\r\n        let hasError = false;\r\n        let unresolvedCount = portlets.length;\r\n        const checkAndDownload = () => {\r\n          if (hasError) {\r\n            cb({ done: true });\r\n            return;\r\n          }\r\n          if (unresolvedCount === 0) {\r\n            this.pbf.exportWorksheets(\r\n              sheetList.filter(Boolean),\r\n              `${this.dashboard.name}.xlsx`\r\n            );\r\n            cb({ done: true });\r\n            this.downloadCachePortlets = [];\r\n            subscription.unsubscribe();\r\n          }\r\n        };\r\n\r\n        portlets.forEach((portlet, index) => {\r\n          const startDownload = () => {\r\n            this.download(portlet, (data, error) => {\r\n              if (data) {\r\n                sheetList[index + 1] = data;\r\n                unresolvedCount--;\r\n              } else if (error) {\r\n                hasError = true;\r\n              }\r\n              checkAndDownload();\r\n            });\r\n          };\r\n          if (currentActivePortletIds.has(portlet.newId)) {\r\n            startDownload();\r\n          } else {\r\n            startDownloadMap.set(portlet.newId, startDownload);\r\n          }\r\n        });\r\n      },\r\n    });\r\n  }\r\n\r\n  public download(\r\n    item: any,\r\n    downloadCallback?: (data: any, error?: any) => void\r\n  ) {\r\n    const portletType = this.getPortletType(item);\r\n    const config = JSON.parse(item.config || \"{}\");\r\n    const title = config.gadgetTitle;\r\n    const tabName =\r\n      config.tabLabel || `Tab ${config.tabId || this.activeTabId}`;\r\n    switch (portletType) {\r\n      case \"table\":\r\n        this.downloadTable(item, downloadCallback);\r\n        break;\r\n      case \"newchart\":\r\n      case \"pivot\":\r\n        const pivot = find(\r\n          (this.pivot as any)._results,\r\n          (el) => el.portlet.newId === item.newId\r\n        );\r\n        pivot.headRowSpan = 0; //重置导出header处理\r\n        pivot.headRowCount = 0; //重置导出header处理\r\n        const fileName = `${title || `Pivot-${new Date().toISOString()}`}.xlsx`;\r\n        const sheetName = `${tabName} - ${title || \"Pivot\"}`;\r\n        if (pivot.pivotObj.dataSourceSettings.formatSettings) {\r\n          pivot.pivotObj.dataSourceSettings.formatSettings.forEach(\r\n            (setting) => {\r\n              // syncfusion format transform to excel format\r\n              const map = {\r\n                \"#,###,,.0;(#,###,,.0)\": '0.0,,\"\";(0.0,,)',\r\n                '0.0,,\"\";(0.0,,)': \"#,###,,.0;(#,###,,.0)\",\r\n                \"#,###,,;(#,###,,)\": '0,,\"\";(0,,)',\r\n                '0,,\"\";(0,,)': \"#,###,,;(#,###,,)\",\r\n                \"#,###,,.00;(#,###,,.00)\": '0.00,,\"\";(0.00,,)',\r\n                '0.00,,\"\";(0.00,,)': \"#,###,,.00;(#,###,,.00)\",\r\n              };\r\n\r\n              if (map[setting.format]) {\r\n                setting.format = map[setting.format];\r\n                setTimeout(() => {\r\n                  setting.format = map[setting.format];\r\n                  this.ref.markForCheck();\r\n                  this.ref.detectChanges();\r\n                });\r\n              }\r\n            }\r\n          );\r\n        }\r\n        this.updateFormat(\r\n          pivot.pivotObj.grid.columns as ColumnModel[],\r\n          pivot.pivotObj\r\n        );\r\n        if (\r\n          !pivot.dataSourceSettings.dataSource ||\r\n          !pivot.dataSourceSettings.dataSource.length\r\n        ) {\r\n          this.getParameterSheet().then((parameter) => {\r\n            const data = [\r\n              { name: \"Parameter Page\", sheet: parameter },\r\n              { name: sheetName, sheet: null },\r\n            ];\r\n            if (typeof downloadCallback === \"function\") {\r\n              downloadCallback(data[1]);\r\n            } else {\r\n              this.pbf.exportWorksheets(data, fileName);\r\n            }\r\n          });\r\n          break;\r\n        }\r\n        this.onExcelExportComplete(\r\n          pivot.pivotObj.exportComplete,\r\n          fileName,\r\n          sheetName,\r\n          downloadCallback\r\n        );\r\n        pivot.pivotObj.excelExport({ fileName }, undefined, undefined, true);\r\n        break;\r\n      // case \"transpose\":\r\n      // \t// const transpose = find(\r\n      // \t// \t(this.transpose as any)._results,\r\n      // \t// \t(el) => el.portlet.newId === item.newId\r\n      // \t// );\r\n      // \tbreak;\r\n      case \"newcolumn\":\r\n      case \"newline\":\r\n      case \"newcolumnline\":\r\n        const selectedComponent = find(\r\n          (this.newChart as any)._results,\r\n          (el) => el.portlet.newId === item.newId\r\n        );\r\n\r\n        const chart = selectedComponent.chart.element;\r\n        const svg = chart.querySelector(\"ejs-chart > svg\");\r\n        if (svg) {\r\n          this.pbf.svg2Base64(svg).then(async (base64) => {\r\n            const fileName = `${\r\n              title || `Chart-${new Date().toISOString()}`\r\n            }.xlsx`;\r\n            const sheetName = `${tabName} - ${title || \"Chart\"}`;\r\n            const data = [\r\n              {\r\n                name: \"Parameter Page\",\r\n                sheet: await this.getParameterSheet(),\r\n              },\r\n              {\r\n                name: sheetName,\r\n                sheet: {\r\n                  width: svg.width.baseVal.value,\r\n                  height: svg.height.baseVal.value,\r\n                  base64,\r\n                },\r\n              },\r\n            ];\r\n            if (typeof downloadCallback === \"function\") {\r\n              downloadCallback(data[1]);\r\n            } else {\r\n              this.pbf.exportWorksheets(data, fileName);\r\n            }\r\n          });\r\n        }\r\n        break;\r\n    }\r\n  }\r\n\r\n  // 根据idx获取点击图表在图表列表里的真正顺序\r\n  getChartIndexInAll(item) {\r\n    const charArr = this.ActiveDashboardPortlets.filter((e) => {\r\n      return [\"newcolumn\", \"newline\", \"newcolumnline\"].includes(\r\n        JSON.parse(e.config).portletType\r\n      );\r\n    });\r\n    let resultIdx = 0;\r\n    if (charArr.length > 0) {\r\n      charArr.forEach((e, idx) => {\r\n        if (e.newId == item.newId) {\r\n          resultIdx = idx;\r\n        }\r\n      });\r\n    }\r\n    return resultIdx;\r\n  }\r\n\r\n  public downloadTable(\r\n    item: any,\r\n    downloadCallback?: (data: any, error?: any) => void\r\n  ) {\r\n    // Table 下载全部数据\r\n    let config = JSON.parse(item.config);\r\n    let pageSetting = Object.assign(\r\n      {\r\n        currentPage: 1,\r\n        pageSize: 9999999,\r\n      },\r\n      config && config.tableSortSetting\r\n    );\r\n    let params = this.DashboardPorletsService.getParamsByPortlet(\r\n      item,\r\n      pageSetting,\r\n      null,\r\n      this.dashboard\r\n    );\r\n    // json buffer\r\n    this.httpClient\r\n      .post(\r\n        this.api.baseurl + this.api.urlList.GetPortletDataOrCreate,\r\n        params,\r\n        {\r\n          headers: new HttpHeaders({\r\n            Authorization: `Bearer`,\r\n          }),\r\n        }\r\n      )\r\n      .subscribe(\r\n        async (result) => {\r\n          const table = find(\r\n            (this.table as any)._results,\r\n            (el) => el.portlet.newId === item.newId\r\n          );\r\n          const title = config.gadgetTitle;\r\n          const tab =\r\n            config.tabLabel || `Tab ${config.tabId || this.activeTabId}`;\r\n          const fileName = `${\r\n            title || `Table-${new Date().toISOString()}`\r\n          }.xlsx`;\r\n          const sheetName = `${tab} - ${title || \"Table\"}`;\r\n\r\n          if (table && result) {\r\n            const excelExportProperties: ExcelExportProperties = {\r\n              fileName,\r\n              // @ts-ignore\r\n              dataSource: result.data,\r\n            };\r\n            this.onExcelExportComplete(\r\n              table.grid.excelExportComplete,\r\n              excelExportProperties.fileName,\r\n              sheetName,\r\n              downloadCallback\r\n            );\r\n            table.grid.excelExport(\r\n              excelExportProperties,\r\n              undefined,\r\n              undefined,\r\n              true\r\n            );\r\n          } else {\r\n            const data = [\r\n              {\r\n                name: \"Parameter Page\",\r\n                sheet: await this.getParameterSheet(),\r\n              },\r\n              { name: sheetName, sheet: null },\r\n            ];\r\n            if (typeof downloadCallback === \"function\") {\r\n              downloadCallback(data[1]);\r\n            } else {\r\n              this.pbf.exportWorksheets(data, fileName);\r\n            }\r\n          }\r\n        },\r\n        (response) => {},\r\n        () => {}\r\n      );\r\n  }\r\n\r\n  private updateFormat(columns: ColumnModel[], pivotObj) {\r\n    var fList = pivotObj.renderModule.getFormatList();\r\n    for (var i = 0; i < columns.length; i++) {\r\n      if (\r\n        (columns[i] as ColumnModel).columns &&\r\n        (columns[i] as ColumnModel).columns.length > 0\r\n      ) {\r\n        this.updateFormat(\r\n          (columns[i] as ColumnModel).columns as ColumnModel[],\r\n          pivotObj\r\n        );\r\n      } else {\r\n        if (\r\n          columns[i].customAttributes &&\r\n          fList[(columns[i].customAttributes.cell as IAxisSet).actualText] ===\r\n            \"N\"\r\n        ) {\r\n          (columns[i] as ColumnModel).format = undefined;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  public fieldFormat(item) {\r\n    this.portlet = cloneDeep(item);\r\n    const dialogRef = this.dialog.open(FieldFormatComponent, {\r\n      data: {\r\n        portletData: item,\r\n        portlets: this.portlets,\r\n        hideCloseIcon: true,\r\n        dialogStyle: {\r\n          width: \"500px\",\r\n          height: \"660px\",\r\n        },\r\n      },\r\n      panelClass: \"rs-dialog-wrap\",\r\n      autoFocus: false,\r\n      disableClose: true,\r\n    });\r\n    dialogRef.afterClosed().subscribe((res) => {});\r\n  }\r\n\r\n  public openFilter(item) {\r\n    this.portlet = cloneDeep(item);\r\n    this.dashboard_sidebar = true;\r\n    this.push_btn = true;\r\n    this.figureCode = item.figureCode;\r\n    this.tabactive = true;\r\n    this.dashboardService.portletEdit.next(this.url_id);\r\n  }\r\n\r\n  updatePushBtn(e: boolean) {\r\n    this.push_btn = e;\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  toggleCustomize(customized) {\r\n    this.customized = customized;\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  toggleSidebar(bool) {\r\n    this.dashboard_sidebar = bool;\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  onToggleTabactive(bool) {\r\n    this.tabactive = bool;\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  updatePorlet(portlet) {\r\n    if (!portlet) {\r\n      this.portlet = null;\r\n      return;\r\n    }\r\n    if (portlet.config && typeof portlet.config !== \"string\") {\r\n      portlet.config = JSON.stringify(portlet.config);\r\n    }\r\n    this.portlet = cloneDeep(portlet);\r\n    this.portlets.forEach((_portlet, i) => {\r\n      if (_portlet.newId === portlet.newId) {\r\n        this.portlets[i] = Object.assign({}, portlet);\r\n      }\r\n    });\r\n    this.portlets = [...this.portlets];\r\n  }\r\n\r\n  public addPorlet() {\r\n    this.push_btn = true;\r\n    this.dashboard_sidebar = true;\r\n    this.portlet = null;\r\n    this.tabactive = false;\r\n    this.dashboardService.create_btn.next(this.url_id);\r\n  }\r\n\r\n  public closeSidebar(e) {\r\n    this.dashboard_sidebar = false;\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  resizeStop(args) {\r\n    this.getNewPosition();\r\n    if (args.element.querySelector(\".e-grid\")) {\r\n      const table = find(\r\n        (this.table as any)._results,\r\n        (el) => el.portlet.newId === args.element.id\r\n      );\r\n      if (table) {\r\n        // table.grid.height = parseInt(args.element.style.height) - 80;\r\n        // table.tableHeight = parseInt(args.element.style.height) - 120;\r\n        table.grid.refreshColumns();\r\n      }\r\n    }\r\n\r\n    if (args.element.querySelector(\".e-pivotview\")) {\r\n      const pivot = find(\r\n        (this.pivot as any)._results,\r\n        (el) => el.portlet.newId === args.element.id\r\n      );\r\n      if (pivot) {\r\n        pivot.pivotObj.layoutRefresh();\r\n      }\r\n    }\r\n  }\r\n\r\n  dragStop(e) {\r\n    this.getNewPosition();\r\n  }\r\n\r\n  getNewPosition() {\r\n    const pdata = this.dashboardLayout.serialize();\r\n    this.newPosition = [...pdata];\r\n    this.portlets.forEach((portlet) => {\r\n      pdata.forEach((p) => {\r\n        if (portlet.newId === p.id) {\r\n          portlet.posX = p.col;\r\n          portlet.posY = p.row;\r\n          portlet.col = p.col;\r\n          portlet.row = p.row;\r\n          portlet.width = p.sizeX;\r\n          portlet.height = p.sizeY;\r\n          portlet.sizeX = p.sizeX;\r\n          portlet.sizeY = p.sizeY;\r\n          // portlet = {\r\n          // \t...portlet,\r\n          // \tposX: p.col,\r\n          // \tposY: p.row,\r\n          // \tcol: p.col,\r\n          // \trow: p.row,\r\n          // \twidth: p.sizeX,\r\n          // \theight: p.sizeY,\r\n          // \tsizeX: p.sizeX,\r\n          // \tsizeY: p.sizeY,\r\n          // };\r\n        }\r\n      });\r\n    });\r\n    // console.log(\"getNewPosition\", this.portlets);\r\n    this.ref.markForCheck();\r\n    this.ref.detectChanges();\r\n  }\r\n\r\n  openSubtotal(item) {\r\n    this.Current_PortletId = item.newId;\r\n    this.config = item.config ? JSON.parse(item.config) : {};\r\n    this.pivotTableSubTotalList.map((el) => {\r\n      el.selected = false;\r\n    });\r\n    this.getSelectTotalGroupStatus(\"sub\");\r\n    this.showSubTotalGroup = !this.showSubTotalGroup;\r\n    this.showgrandTotalGroup = false;\r\n  }\r\n\r\n  openGrandtotal(item) {\r\n    this.Current_PortletId = item.newId;\r\n    this.config = item.config ? JSON.parse(item.config) : {};\r\n    this.pivotTableGrandTotalList.map((el) => {\r\n      el.selected = false;\r\n    });\r\n    if (this.getPortletType(item) === \"table\") {\r\n      this.getSelectTotalGroupStatus(\"tableGrand\");\r\n      this.showTableGrandTotalGroup = !this.showTableGrandTotalGroup;\r\n    } else {\r\n      this.getSelectTotalGroupStatus();\r\n      this.showgrandTotalGroup = !this.showgrandTotalGroup;\r\n      this.showSubTotalGroup = false;\r\n    }\r\n  }\r\n\r\n  selectTotalGroup(index, type, item) {\r\n    if (this.getPortletType(item) === \"pivot\") {\r\n      const pivot = find(\r\n        (this.pivot as any)._results,\r\n        (el) => el.portlet.newId === item.newId\r\n      );\r\n      if (type === \"sub\") {\r\n        this.showSubTotalGroup = false;\r\n        this.pivotTableSubTotalList.forEach((subtotal) => {\r\n          subtotal.selected = false;\r\n        });\r\n        this.pivotTableSubTotalList[index].selected = true;\r\n        if (pivot.pivotObj) {\r\n          switch (index) {\r\n            case 0:\r\n              this.config.fields.map((el) => {\r\n                el.showSubTotals = true;\r\n              });\r\n              pivot.pivotObj.dataSourceSettings.showSubTotals = true;\r\n              pivot.pivotObj.dataSourceSettings.showRowSubTotals = true;\r\n              pivot.pivotObj.dataSourceSettings.showColumnSubTotals = true;\r\n              this.config.showSubTotals = true;\r\n              this.config.showRowSubTotals = true;\r\n              this.config.showColumnSubTotals = true;\r\n              break;\r\n            case 1:\r\n              this.config.fields.map((el) => {\r\n                el.showSubTotals = false;\r\n              });\r\n              pivot.pivotObj.dataSourceSettings.showSubTotals = false;\r\n              pivot.pivotObj.dataSourceSettings.showRowSubTotals = true;\r\n              pivot.pivotObj.dataSourceSettings.showColumnSubTotals = true;\r\n              this.config.showSubTotals = false;\r\n              this.config.showRowSubTotals = true;\r\n              this.config.showColumnSubTotals = true;\r\n              break;\r\n            case 2:\r\n              this.config.fields.map((el) => {\r\n                el.showSubTotals = false;\r\n              });\r\n              for (let gitem of this.config.xaxis.groups) {\r\n                const field = this.config.fields.filter(\r\n                  (fl) => fl.colName === gitem.name\r\n                );\r\n                if (field.length > 0) {\r\n                  field[0].showSubTotals = true;\r\n                }\r\n              }\r\n              pivot.pivotObj.dataSourceSettings.showSubTotals = true;\r\n              pivot.pivotObj.dataSourceSettings.showRowSubTotals = true;\r\n              pivot.pivotObj.dataSourceSettings.showColumnSubTotals = false;\r\n              this.config.showSubTotals = true;\r\n              this.config.showRowSubTotals = true;\r\n              this.config.showColumnSubTotals = false;\r\n              break;\r\n            case 3:\r\n              this.config.fields.map((el) => {\r\n                el.showSubTotals = false;\r\n              });\r\n              for (let item of this.config.columnGroup) {\r\n                const field = this.config.fields.filter(\r\n                  (fl) => fl.colName === item.name\r\n                );\r\n                if (field.length > 0) {\r\n                  field[0].showSubTotals = true;\r\n                }\r\n              }\r\n              pivot.pivotObj.dataSourceSettings.showSubTotals = true;\r\n              pivot.pivotObj.dataSourceSettings.showRowSubTotals = false;\r\n              pivot.pivotObj.dataSourceSettings.showColumnSubTotals = true;\r\n              this.config.showSubTotals = true;\r\n              this.config.showRowSubTotals = false;\r\n              this.config.showColumnSubTotals = true;\r\n              break;\r\n            default:\r\n              break;\r\n          }\r\n        }\r\n      } else {\r\n        this.showgrandTotalGroup = false;\r\n        this.pivotTableGrandTotalList.forEach((grandtotal) => {\r\n          grandtotal.selected = false;\r\n        });\r\n        this.pivotTableGrandTotalList[index].selected = true;\r\n        if (pivot.pivotObj) {\r\n          switch (index) {\r\n            case 0:\r\n              pivot.pivotObj.dataSourceSettings.showGrandTotals = true;\r\n              pivot.pivotObj.dataSourceSettings.showRowGrandTotals = true;\r\n              pivot.pivotObj.dataSourceSettings.showColumnGrandTotals = true;\r\n              this.config.showGrandTotals = true;\r\n              this.config.showRowGrandTotals = true;\r\n              this.config.showColumnGrandTotals = true;\r\n              break;\r\n            case 1:\r\n              pivot.pivotObj.dataSourceSettings.showGrandTotals = false;\r\n              pivot.pivotObj.dataSourceSettings.showRowGrandTotals = true;\r\n              pivot.pivotObj.dataSourceSettings.showColumnGrandTotals = true;\r\n              this.config.showGrandTotals = false;\r\n              this.config.showRowGrandTotals = true;\r\n              this.config.showColumnGrandTotals = true;\r\n              break;\r\n            case 2:\r\n              pivot.pivotObj.dataSourceSettings.showGrandTotals = true;\r\n              pivot.pivotObj.dataSourceSettings.showRowGrandTotals = true;\r\n              pivot.pivotObj.dataSourceSettings.showColumnGrandTotals = false;\r\n              this.config.showGrandTotals = true;\r\n              this.config.showRowGrandTotals = true;\r\n              this.config.showColumnGrandTotals = false;\r\n              break;\r\n            case 3:\r\n              pivot.pivotObj.dataSourceSettings.showGrandTotals = true;\r\n              pivot.pivotObj.dataSourceSettings.showRowGrandTotals = false;\r\n              pivot.pivotObj.dataSourceSettings.showColumnGrandTotals = true;\r\n              this.config.showGrandTotals = true;\r\n              this.config.showRowGrandTotals = false;\r\n              this.config.showColumnGrandTotals = true;\r\n              break;\r\n            default:\r\n              break;\r\n          }\r\n        }\r\n      }\r\n      if (pivot.pivotObj) {\r\n        pivot.pivotObj.render();\r\n        item.config = CircularJSON.stringify(this.config);\r\n        const portletIndex = this.portlets.findIndex(\r\n          (x) => x.newId === item.newId\r\n        );\r\n        this.portlets[portletIndex] = item;\r\n        this.dashboardService.changePivot.next(item.newId);\r\n      }\r\n    } else {\r\n      const table = find(\r\n        (this.table as any)._results,\r\n        (el) => el.portlet.newId === item.newId\r\n      );\r\n      this.showTableGrandTotalGroup = false;\r\n      this.tableGrandTotalList.forEach((grandtotal) => {\r\n        grandtotal.selected = false;\r\n      });\r\n      this.tableGrandTotalList[index].selected = true;\r\n      if (table) {\r\n        switch (index) {\r\n          case 0:\r\n            this.config.showGrandTotals = true;\r\n            table.grid.element\r\n              .querySelector(\".e-gridfooter\")\r\n              .classList.remove(\"hidesummary\");\r\n            break;\r\n          case 1:\r\n            this.config.showGrandTotals = false;\r\n            table.grid.element\r\n              .querySelector(\".e-gridfooter\")\r\n              .classList.add(\"hidesummary\");\r\n            break;\r\n        }\r\n        item.config = CircularJSON.stringify(this.config);\r\n        const portletIndex = this.portlets.findIndex(\r\n          (x) => x.newId === item.newId\r\n        );\r\n        this.portlets[portletIndex] = item;\r\n      }\r\n    }\r\n  }\r\n\r\n  getSelectTotalGroupStatus(type?) {\r\n    if (type === \"sub\") {\r\n      if (\r\n        this.config.showSubTotals &&\r\n        this.config.showRowSubTotals &&\r\n        this.config.showColumnSubTotals\r\n      ) {\r\n        this.pivotTableSubTotalList[0].selected = true;\r\n      }\r\n      if (\r\n        !this.config.showSubTotals &&\r\n        this.config.showRowSubTotals &&\r\n        this.config.showColumnSubTotals\r\n      ) {\r\n        this.pivotTableSubTotalList[1].selected = true;\r\n      }\r\n      if (\r\n        this.config.showSubTotals &&\r\n        this.config.showRowSubTotals &&\r\n        !this.config.showColumnSubTotals\r\n      ) {\r\n        this.pivotTableSubTotalList[2].selected = true;\r\n      }\r\n      if (\r\n        this.config.showSubTotals &&\r\n        !this.config.showRowSubTotals &&\r\n        this.config.showColumnSubTotals\r\n      ) {\r\n        this.pivotTableSubTotalList[3].selected = true;\r\n      }\r\n    } else if (type === \"tableGrand\") {\r\n      if (this.config && this.config.showGrandTotals) {\r\n        this.tableGrandTotalList[0].selected = true;\r\n      }\r\n      if (!this.config.showGrandTotals) {\r\n        this.tableGrandTotalList[1].selected = true;\r\n      }\r\n    } else {\r\n      if (\r\n        this.config.showGrandTotals &&\r\n        this.config.showRowGrandTotals &&\r\n        this.config.showColumnGrandTotals\r\n      ) {\r\n        this.pivotTableGrandTotalList[0].selected = true;\r\n      }\r\n      if (\r\n        !this.config.showGrandTotals &&\r\n        this.config.showRowGrandTotals &&\r\n        this.config.showColumnGrandTotals\r\n      ) {\r\n        this.pivotTableGrandTotalList[1].selected = true;\r\n      }\r\n      if (\r\n        this.config.showGrandTotals &&\r\n        this.config.showRowGrandTotals &&\r\n        !this.config.showColumnGrandTotals\r\n      ) {\r\n        this.pivotTableGrandTotalList[2].selected = true;\r\n      }\r\n      if (\r\n        this.config.showGrandTotals &&\r\n        !this.config.showRowGrandTotals &&\r\n        this.config.showColumnGrandTotals\r\n      ) {\r\n        this.pivotTableGrandTotalList[3].selected = true;\r\n      }\r\n    }\r\n  }\r\n\r\n  initCharData(noDetect = false) {\r\n    if (!this.dashboard) {\r\n      return;\r\n    }\r\n    let filesObj = {}; // 用来翻译\r\n    for (var i in this.DashboardPorletsService.fieldsArr[this.dashboard.id]) {\r\n      if (this.DashboardPorletsService.fieldsArr[this.dashboard.id][i]) {\r\n        this.DashboardPorletsService.fieldsArr[this.dashboard.id][i].forEach(\r\n          (t) => {\r\n            filesObj[t.colName] = t[\"langCode\"];\r\n          }\r\n        );\r\n      }\r\n    }\r\n    this.portlets.forEach((e) => {\r\n      if (!e.config) {\r\n        return;\r\n      }\r\n      const config = JSON.parse(e.config);\r\n      // 如果是 historicalIRR，根据 visualType 进行渲染\r\n      const portletType =\r\n        config.portletType === \"historicalIRR\"\r\n          ? config.selectedVisualType\r\n          : config.portletType;\r\n      let isNewChart = [\"newcolumn\", \"newline\", \"newcolumnline\"].includes(\r\n        portletType\r\n      );\r\n\r\n      if (isNewChart) {\r\n        let dataColumn = [];\r\n        let dataLine = [];\r\n        let yXias = [];\r\n        let secondYXias = [];\r\n        // const config = JSON.parse(e.config);\r\n        if (config.selectedY && config.selectedY.length > 0) {\r\n          yXias = config.selectedY;\r\n        }\r\n\r\n        if (config.selectedSecondY && config.selectedSecondY.length > 0) {\r\n          secondYXias = config.selectedSecondY;\r\n        }\r\n\r\n        let dataItem;\r\n        if (e.id && e.id != \"00000000-0000-0000-0000-000000000000\") {\r\n          dataItem =\r\n            this.DashboardPorletsService.portletData_New[this.dashboard.id][\r\n              e.id\r\n            ] || [];\r\n        } else if (e.newId) {\r\n          dataItem =\r\n            this.DashboardPorletsService.portletData_New[this.dashboard.id][\r\n              e.newId\r\n            ] || [];\r\n        }\r\n        if (dataItem && dataItem.data && dataItem.data.length > 0) {\r\n          const xAxisField = config.fields.find(\r\n            (field) => field.colName === config.selectedX\r\n          );\r\n          dataItem.data.forEach((item) => {\r\n            const period =\r\n              xAxisField && xAxisField.dataType === \"date\"\r\n                ? this.datePipe.transform(\r\n                    //TODO:格式化日期\r\n                    item[config.selectedX],\r\n                    \"yyyy-MM-dd\"\r\n                  )\r\n                : item[config.selectedX];\r\n            if (portletType == \"newline\") {\r\n              if (yXias.length > 0) {\r\n                let obj = { period };\r\n                yXias.forEach((y) => {\r\n                  obj[this.translation[filesObj[y]] || y] = item[y];\r\n                });\r\n                dataLine.push(obj);\r\n              }\r\n            } else {\r\n              if (yXias.length > 0) {\r\n                let obj = { period };\r\n                yXias.forEach((y) => {\r\n                  obj[this.translation[filesObj[y]] || y] = item[y];\r\n                });\r\n                dataColumn.push(obj);\r\n              }\r\n\r\n              if (secondYXias.length > 0) {\r\n                let obj = { period };\r\n                secondYXias.forEach((y) => {\r\n                  obj[this.translation[filesObj[y]] || y] = item[y];\r\n                });\r\n                dataLine.push(obj);\r\n              }\r\n            }\r\n          });\r\n        }\r\n\r\n        // 时间排序\r\n        if (config.selectedX == \"Date\") {\r\n          dataColumn && dataColumn.sort(this.compareDates);\r\n          dataLine && dataLine.sort(this.compareDates);\r\n        }\r\n\r\n        // 赋值dataColumn和dataLine对应的Type\r\n        config.fields.forEach((t) => {\r\n          if (config.selectedY && config.selectedY.length > 0) {\r\n            if (t[\"colName\"] == config.selectedY[0]) {\r\n              e[\"columnType\"] = t[\"dataType\"];\r\n            }\r\n          }\r\n\r\n          if (config.selectedSecondY && config.selectedSecondY.length > 0) {\r\n            if (t[\"colName\"] == config.selectedSecondY[0]) {\r\n              e[\"lineType\"] = t[\"dataType\"];\r\n            }\r\n          }\r\n        });\r\n\r\n        e[\"dataColumn\"] = dataColumn;\r\n        e[\"dataLine\"] = dataLine;\r\n        if (config[\"selectTheme\"]) {\r\n          e[\"themeColor\"] = this.themeObj[config[\"selectTheme\"]];\r\n        }\r\n      }\r\n    });\r\n    if (!noDetect) {\r\n      this.setActiveDashboardPortlets();\r\n    }\r\n  }\r\n\r\n  compareDates(a, b) {\r\n    const dateA = new Date(a.period);\r\n    const dateB = new Date(b.period);\r\n\r\n    if (dateA < dateB) {\r\n      return -1;\r\n    } else if (dateA > dateB) {\r\n      return 1;\r\n    } else {\r\n      return 0;\r\n    }\r\n  }\r\n\r\n  truncateText(text, maxWidth = 70, fontSize = 11) {\r\n    // 创建一个隐形的 span 来测量文本宽度\r\n    const measureSpan = document.createElement(\"div\");\r\n    measureSpan.style.visibility = \"hidden\";\r\n    measureSpan.style.position = \"absolute\";\r\n    measureSpan.style.fontSize = fontSize + \"px\";\r\n    measureSpan.style.whiteSpace = \"nowrap\";\r\n    measureSpan.innerText = text;\r\n    document.body.appendChild(measureSpan);\r\n\r\n    // 二分查找来找到最佳截断点\r\n    let left = 1;\r\n    let right = text.length - 1;\r\n    let leftOrRight = \"left\";\r\n    let isBigger = false;\r\n    if (measureSpan.offsetWidth > maxWidth) {\r\n      while (!isBigger) {\r\n        measureSpan.innerText = `${text.slice(0, left)}...${text.slice(right)}`;\r\n        if (measureSpan.offsetWidth > maxWidth) {\r\n          isBigger = true;\r\n        } else {\r\n          if (leftOrRight === \"left\") {\r\n            leftOrRight = \"right\";\r\n            left = left + 1;\r\n          } else {\r\n            leftOrRight = \"left\";\r\n            right = right - 1;\r\n          }\r\n        }\r\n      }\r\n    } else {\r\n      document.body.removeChild(measureSpan);\r\n      return text;\r\n    }\r\n    // 清理并返回结果\r\n    document.body.removeChild(measureSpan);\r\n    return `${text.slice(0, left - 1)}${left !== 1 ? \"...\" : \"\"}${text.slice(\r\n      right + 1\r\n    )}`;\r\n  }\r\n\r\n  getPaddingBottom() {\r\n    let paddingBotto = 50;\r\n    // 存在Title 或者 Description占位置时\r\n    if (\r\n      this.dashboard &&\r\n      (this.dashboard.title || this.dashboard.description)\r\n    ) {\r\n      let gap = 0;\r\n      if (this.dashboard.title) {\r\n        gap += 5;\r\n      }\r\n      if (this.dashboard.description) {\r\n        gap += 20;\r\n      }\r\n      const element: any = document.querySelector(\".portlets-description\");\r\n      paddingBotto = element ? element.offsetHeight + gap + 50 : 50;\r\n    }\r\n    return paddingBotto + \"px\";\r\n  }\r\n\r\n  updateDashboardLastUpdateDate() {\r\n    this.pbf.pageLoading = true;\r\n    this.pbf.pageLoading_.next(true);\r\n    const _dataObj = { dashboardId: this.url_id, language: this.lang };\r\n    this.http.post(this.api.urlList.GetDashboardV2, _dataObj, (res) => {\r\n      this.dashboard.UpdatedDate = res.UpdatedDate;\r\n      this.pbf.pageLoading = false;\r\n      this.pbf.pageLoading_.next(true);\r\n    });\r\n  }\r\n\r\n  async savedashboard(shouldUpdate = \"false\") {\r\n    this.pbf.pageLoading = true;\r\n    this.pbf.pageLoading_.next(true);\r\n    const pdata = this.dashboardLayout.serialize();\r\n    this.newPosition = [...pdata];\r\n    const portlets = [...this.portlets];\r\n\r\n    if (portlets && portlets.length) {\r\n      let activeTabHasPortlet = false;\r\n      const tabIds = [];\r\n      portlets.map((el) => {\r\n        const data = find(this.newPosition, (item) => item.id === el.newId);\r\n        if (data) {\r\n          el.col = data.col;\r\n          el.posX = data.col;\r\n          el.row = data.row;\r\n          el.posY = data.row;\r\n          el.sizeX = data.sizeX;\r\n          el.width = data.sizeX;\r\n          el.sizeY = data.sizeY;\r\n          el.height = data.sizeY;\r\n        }\r\n        let config = el.config ? JSON.parse(el.config) : null;\r\n        if (config) {\r\n          config = {\r\n            ...config,\r\n            prevDashboarId: el.id,\r\n            activeTab: this.activeTab,\r\n          };\r\n          tabIds.push(config.tabId);\r\n          if (config.tabId === this.activeTab) {\r\n            activeTabHasPortlet = true;\r\n          }\r\n          if (config.QTQendDate) {\r\n            el.endDate = config.QTQendDate;\r\n          }\r\n          el.config = CircularJSON.stringify(config);\r\n        }\r\n      });\r\n      if (!activeTabHasPortlet) {\r\n        portlets.forEach((el) => {\r\n          let config = el.config ? JSON.parse(el.config) : null;\r\n          if (config) {\r\n            config = {\r\n              ...config,\r\n              prevDashboarId: el.id,\r\n              activeTab: tabIds[0],\r\n            };\r\n          }\r\n          if (config.QTQendDate) {\r\n            el.endDate = config.QTQendDate;\r\n          }\r\n          el.config = CircularJSON.stringify(config);\r\n        });\r\n      }\r\n    }\r\n    let dataObj = {\r\n      portlets,\r\n      dashboardId: this.url_id,\r\n      lastUpdateDate: this.dashboard.UpdatedDate,\r\n    };\r\n    await this.setConfigBeforeSave();\r\n    // return;\r\n    this.http.post(this.api.urlList.SaveDashboardPortlets, dataObj, (res) => {\r\n      if (res.status == \"SUCCESS\") {\r\n        this.DashboardPorletsService.GetDashboardV1(\r\n          this.url_id,\r\n          false,\r\n          (_res, _portlets = []) => {\r\n            this.pbf.pageLoading = false;\r\n            this.pbf.pageLoading_.next(true);\r\n            if (!_res) {\r\n              return;\r\n            }\r\n            const _saveMessage =\r\n              this.translation.DASHBOARD_SAVE_MESSAGE ||\r\n              \"Dashboard has been updated\";\r\n            this.layoutUtilsService.showNotification(_saveMessage);\r\n            if (shouldUpdate !== \"true\") {\r\n              this.toggleCustomize(false);\r\n              this.toggleSidebar(false);\r\n              this.updatePushBtn(false);\r\n            }\r\n            this.updateDashboard({\r\n              dashboard: _res,\r\n              portlets: _portlets,\r\n              noDetect: true,\r\n            });\r\n            this.initlayout(true);\r\n            this.ref.markForCheck();\r\n            this.ref.detectChanges();\r\n          }\r\n        );\r\n      } else {\r\n        let errorMessage = \"Dashboard save failed\";\r\n        if (Array.isArray(res.messages)) {\r\n          errorMessage = res.messages[0].message;\r\n        }\r\n        this.layoutUtilsService.showNotification(errorMessage, {\r\n          status: \"Error\",\r\n        });\r\n        this.pbf.pageLoading = false;\r\n        this.pbf.pageLoading_.next(true);\r\n      }\r\n    });\r\n  }\r\n\r\n  setConfigBeforeSave() {\r\n    const portlets = [...this.portlets].filter((portlet) => {\r\n      const config = JSON.parse(portlet.config);\r\n      return (\r\n        config.QTQendDate &&\r\n        [\"SeeThroughPositionComparison\"].includes(portlet.figureCode)\r\n      );\r\n    });\r\n    return new Promise(async (resolve, reject) => {\r\n      for (let i = 0; i < portlets.length; i++) {\r\n        await this.savePortlet(portlets[i]);\r\n      }\r\n      resolve(true);\r\n    });\r\n  }\r\n\r\n  private needGetPortletData(origin = [], compare = []) {\r\n    return compare.some((c) => !origin.includes(c));\r\n  }\r\n\r\n  private savePortlet(portlet) {\r\n    return new Promise(async (resolve, reject) => {\r\n      // GetSchema配置的列数据源\r\n      const fields: any[] = await this.getAllFields(portlet);\r\n      const params = this.DashboardPorletsService.getParamsByPortlet(\r\n        portlet,\r\n        null,\r\n        fields,\r\n        this.dashboard\r\n      );\r\n      let initFieldsArr;\r\n      let curFieldsArr;\r\n      const config = portlet.config && JSON.parse(portlet.config);\r\n      params.isTable = config.portletType === \"table\";\r\n\r\n      if (!params.isTable) {\r\n        // 赋值portletFields_Temp\r\n        initFieldsArr =\r\n          this.DashboardPorletsService.portletFields_Temp[portlet.id];\r\n        curFieldsArr = params.displayColumnFilter.split(\",\");\r\n        if (\r\n          !initFieldsArr ||\r\n          this.needGetPortletData(initFieldsArr, curFieldsArr)\r\n        ) {\r\n          this.DashboardPorletsService.portletFields_Temp[portlet.id] =\r\n            curFieldsArr;\r\n        }\r\n      }\r\n      if (config.filterSettings && config.filterSettings.length) {\r\n        if (!params.columnFilter) {\r\n          params.columnFilter = [];\r\n        }\r\n        config.filterSettings.forEach((setting) => {\r\n          if (config.portletType === \"pivot\") {\r\n            return;\r\n          }\r\n          const _field = config.fields.find(\r\n            (item) => item.colName === setting.name\r\n          );\r\n          const Type = _field && _field.dataType;\r\n          if (setting.items) {\r\n            setting.items.forEach((item) => {\r\n              params.columnFilter.push({\r\n                Field: setting.name,\r\n                Operator: \"equal\",\r\n                Type,\r\n                Value:\r\n                  Type === \"date\"\r\n                    ? moment(item).format(\"yyyy-MM-DD\")\r\n                    : Type === \"datetime\"\r\n                    ? moment(item).format(\"yyyy-MM-DD hh:mm:ss\")\r\n                    : item,\r\n              });\r\n            });\r\n          } else if (setting.operator) {\r\n            params.columnFilter.push({\r\n              Field: setting.field,\r\n              Operator: \"equal\",\r\n              Type: setting.type,\r\n              Value:\r\n                setting.type === \"date\"\r\n                  ? moment(setting.value).format(\"yyyy-MM-DD\")\r\n                  : setting.type === \"datetime\"\r\n                  ? moment(setting.value).format(\"yyyy-MM-DD hh:mm:ss\")\r\n                  : setting.value,\r\n            });\r\n          }\r\n        });\r\n      }\r\n      if (params.columnFilter instanceof Array) {\r\n        params.columnFilter = params.columnFilter.filter((item) => item.Field);\r\n      }\r\n\r\n      // json buffer\r\n      params[\"dashboardVersion\"] = 2;\r\n      params.endDate = config.QTQendDate || null;\r\n      params.IsUpdate = true;\r\n\r\n      this.httpClient\r\n        .post(\r\n          this.api.baseurl + this.api.urlList.GetPortletDataOrCreate,\r\n          params,\r\n          {\r\n            headers: new HttpHeaders({\r\n              Authorization: `Bearer`,\r\n            }),\r\n          }\r\n        )\r\n        .subscribe((result: any) => {\r\n          resolve(true);\r\n        });\r\n    });\r\n  }\r\n\r\n  redirect(item) {\r\n    let _item;\r\n    this.portlets.forEach((el) => {\r\n      if (el.newId === item.newId) {\r\n        _item = el;\r\n      }\r\n    });\r\n    const dialogRef = this.dialog.open(DashboardRedirectComponent, {\r\n      data: {\r\n        config: _item.config ? JSON.parse(_item.config) : {},\r\n        asOfDate: this.dashboard.asOfDate,\r\n        currencyCode: this.dashboard.currencyCode,\r\n      },\r\n      disableClose: true,\r\n      width: \"448px\",\r\n      height: \"364px\",\r\n    });\r\n\r\n    dialogRef.afterClosed().subscribe((res) => {\r\n      if (res && res instanceof Object) {\r\n        const config = _item.config ? JSON.parse(_item.config) : {};\r\n        config.redirectObject = res;\r\n        _item.config = JSON.stringify(config);\r\n        this.updatePorlet(_item);\r\n      }\r\n    });\r\n  }\r\n\r\n  currencyTypes: any[];\r\n  getCurrencyType() {\r\n    if (this.currencyTypes) {\r\n      return this.currencyTypes;\r\n    }\r\n    const data = {\r\n      scope: \"DashboardCurrencyType\",\r\n      lang: this.pbf.getLanguageParams(),\r\n    };\r\n    return new Promise<any[]>((resolve) =>\r\n      this.http.post(\r\n        this.api.urlList.GetPropertyOptions,\r\n        data,\r\n        (res: any[]) => {\r\n          this.currencyTypes = res;\r\n          resolve(this.currencyTypes);\r\n        }\r\n      )\r\n    );\r\n  }\r\n\r\n  async getCurrencyTypeLabel() {\r\n    const currencyTypes = await this.getCurrencyType();\r\n    const currencyType = currencyTypes.find(\r\n      (i) => `${i.Code}` === `${this.dashboard.CurrencyType}`\r\n    );\r\n    return currencyType ? currencyType.value : \"\";\r\n  }\r\n\r\n  async getParameterSheet() {\r\n    const rows = [\r\n      \"\",\r\n      this.userProfile.companyName,\r\n      \"Dashboard\",\r\n      this.dashboard.name,\r\n      \"\",\r\n      this.dashboard.entityList[0].name,\r\n    ];\r\n    const dataMart = this.dashboard.dataMartTables;\r\n    let asOfDate;\r\n    if (typeof this.dashboard.asOfDate === \"string\") {\r\n      asOfDate = this.pbf.setUTCtoString(this.dashboard.asOfDate);\r\n    } else {\r\n      asOfDate = moment(this.dashboard.asOfDate).format(\"YYYY-MM-DD\");\r\n    }\r\n    if (this.DashboardPorletsService.checkHasFromDate(dataMart)) {\r\n      const startDate = this.pbf.formatDate(this.dashboard.fromDate);\r\n      rows.push(`Start Date: ${startDate}`);\r\n      rows.push(`As of Date: ${asOfDate}`);\r\n    } else {\r\n      rows.push(asOfDate);\r\n    }\r\n    rows.push(this.dashboard.currencyCode);\r\n    rows.push(await this.getCurrencyTypeLabel());\r\n\r\n    const cellStyle = {\r\n      alignment: { horizontal: \"center\" },\r\n      font: { bold: true, size: 15 },\r\n    };\r\n    const data = rows.map((i) => [{ value: i, style: cellStyle }]);\r\n    return this.pbf\r\n      .data2Workbook(data, { column: [{ width: 64 }] })\r\n      .getWorksheet(1);\r\n  }\r\n\r\n  onExcelExportComplete(\r\n    emitter: EventEmitter<any>,\r\n    fileName: string,\r\n    sheetName: string,\r\n    downloadCallback?: (data: any, error?: any) => void\r\n  ) {\r\n    const subscription = emitter.subscribe(async (event) => {\r\n      subscription.unsubscribe();\r\n      try {\r\n        const e = await event.promise;\r\n        const workbook = await this.pbf.blob2Workbook(e.blobData);\r\n        const worksheet = workbook.getWorksheet(1);\r\n        const data = [\r\n          {\r\n            name: \"Parameter Page\",\r\n            sheet: await this.getParameterSheet(),\r\n          },\r\n          { name: sheetName, sheet: worksheet },\r\n        ];\r\n        if (typeof downloadCallback === \"function\") {\r\n          downloadCallback(data[1]);\r\n          return;\r\n        }\r\n        await this.pbf.exportWorksheets(data, fileName);\r\n      } catch (error) {\r\n        const errorMessage = error.message.includes(\r\n          \"Cannot merge already merged cells\"\r\n        )\r\n          ? this.translation.DASHBOARD_NEED_ADD_SUB_TOTAL ||\r\n            \".DASHBOARD_NEED_ADD_SUB_TOTAL\"\r\n          : this.translation.ERROR || \".Error\";\r\n        this.layoutUtilsService.showNotification(errorMessage, {\r\n          status: \"Error\",\r\n        });\r\n        if (typeof downloadCallback === \"function\") {\r\n          downloadCallback(null, error);\r\n        }\r\n        console.error(error);\r\n      }\r\n    });\r\n  }\r\n  duplicateTab(item, i) {\r\n    this.floatBox.forEach((floatBox, index) => {\r\n      if (index === i) {\r\n        floatBox.opened = \"no\";\r\n      }\r\n    });\r\n    setTimeout(() => {\r\n      console.log(\"duplicateTab\", item);\r\n      const duplicatePrefix = \"Duplicate of \";\r\n      const baseTitle = duplicatePrefix + item.label;\r\n      // 查找所有匹配 \"Duplicate of \" + 原标题 + \"(数字)\" 格式的标题\r\n      const pattern = new RegExp(\r\n        `^${this.escapeRegex(duplicatePrefix)}${this.escapeRegex(\r\n          baseTitle\r\n        )}\\\\((\\\\d+)\\\\)$`\r\n      );\r\n      let maxNumber = 0;\r\n      let hasNumberedDuplicate = false;\r\n      let hasExactMatch = false;\r\n\r\n      this.tabList.forEach((title) => {\r\n        if (title.label === baseTitle) {\r\n          hasExactMatch = true;\r\n        }\r\n        const match = title.label.match(pattern);\r\n        if (match) {\r\n          hasNumberedDuplicate = true;\r\n          const number = parseInt(match[1], 10);\r\n          if (!isNaN(number) && number > maxNumber) {\r\n            maxNumber = number;\r\n          }\r\n        }\r\n      });\r\n\r\n      let label;\r\n      // 如果既没有完全匹配，也没有带数字的匹配，返回基础标题\r\n      if (!hasExactMatch && !hasNumberedDuplicate) {\r\n        label = baseTitle;\r\n      } else {\r\n        // 存在重名，返回带数字的标题（数字从1开始，或最大数字+1）\r\n        label = `${baseTitle}(${maxNumber + 1})`;\r\n      }\r\n      this.prevId = this.tabList[this.tabList.length - 1].id;\r\n      let newId = 1;\r\n      this.tabList.forEach((tab) => {\r\n        newId = Math.max(newId, tab.id);\r\n      });\r\n      this.activeTab = newId + 1;\r\n      this.tabList.push({\r\n        id: this.activeTab,\r\n        label: label,\r\n        displayLabel: this.truncateText(label),\r\n      });\r\n      this.activeTabId = this.activeTab;\r\n      this.activeTabLabel = label;\r\n      // 隐藏右侧菜单，清除当前选中的portlet\r\n      this.portlet = null;\r\n      this.dashboard_sidebar = false;\r\n      this.hasChangeDataTable = true;\r\n      this.push_btn = false;\r\n      const clonePortlets = cloneDeep(this.portlets);\r\n      const targetPortlets = clonePortlets.filter((portlet) => {\r\n        const config = JSON.parse(portlet.config);\r\n        if (config.tabId === item.id) {\r\n          portlet.config = JSON.stringify({\r\n            ...config,\r\n            tabId: this.activeTab,\r\n            tabLabel: label,\r\n          });\r\n        }\r\n        return config.tabId === item.id;\r\n      });\r\n      this.portlets = [...this.portlets, ...targetPortlets];\r\n      this.setActiveDashboardPortlets();\r\n      this.ref.detectChanges();\r\n    }, 100);\r\n  }\r\n  renameTab(item, i) {\r\n    this.floatBox.forEach((floatBox, index) => {\r\n      if (index === i) {\r\n        floatBox.opened = \"no\";\r\n      }\r\n    });\r\n    const dialogRef = this.dialog.open(RenameDialogComponent, {\r\n      data: {\r\n        dialogStyle: {\r\n          width: \"500px\",\r\n          height: \"200px\",\r\n        },\r\n        name: item.label,\r\n      },\r\n      panelClass: \"rs-dialog-wrap\",\r\n      autoFocus: false,\r\n      disableClose: true,\r\n    });\r\n    dialogRef.afterClosed().subscribe((res) => {\r\n      if (res !== \"close\") {\r\n        const { name } = res;\r\n        item.label = name;\r\n        item.displayLabel = this.truncateText(name);\r\n        this.ref.detectChanges();\r\n      }\r\n    });\r\n  }\r\n}\r\n","<div id=\"kt-dashboard-container\" class=\"content-portlets\">\r\n  <!-- <div\r\n\t\t\t*ngIf=\"\r\n\t\t\t\tdashboard &&\r\n\t\t\t\t(dashboard.title || dashboard.description) &&\r\n\t\t\t\t!haveFullScreen.length\r\n\t\t\t\"\r\n\t\t\tclass=\"portlets-description\"\r\n\t\t>\r\n\t\t\t<h4 *ngIf=\"dashboard && dashboard.title && !haveFullScreen.length\">\r\n\t\t\t\t{{ dashboard ? dashboard.title : \"\" }}\r\n\t\t\t</h4>\r\n\t\t\t<p *ngIf=\"dashboard && dashboard.description && !haveFullScreen.length\">\r\n\t\t\t\t{{ dashboard ? dashboard.description : \"\" }}\r\n\t\t\t</p>\r\n\t\t</div> -->\r\n  <div\r\n    class=\"panes-list\"\r\n    id=\"dashboard-box\"\r\n    #panesList\r\n    [ngClass]=\"{\r\n      'panes-list-desktop': haveFullScreen.length && url == 'desktop',\r\n      'panes-list-dashboard': haveFullScreen.length && url == 'dashboardDetail'\r\n    }\"\r\n  >\r\n    <div style=\"width: 100%\">\r\n      <ejs-dashboardlayout\r\n        id=\"defaultLayout\"\r\n        #defaultLayout\r\n        [columns]=\"4\"\r\n        [cellSpacing]=\"cellSpacing\"\r\n        [cellAspectRatio]=\"cellAspectRatio\"\r\n        [allowDragging]=\"customized\"\r\n        [allowResizing]=\"customized\"\r\n        [resizableHandles]=\"resizableHandles\"\r\n        [draggableHandle]=\"draggableHandle\"\r\n        [mediaQuery]=\"mediaQuery\"\r\n        (resizeStop)=\"resizeStop($event)\"\r\n        (dragStop)=\"dragStop($event)\"\r\n      >\r\n        <e-panels\r\n          *ngIf=\"ActiveDashboardPortlets && ActiveDashboardPortlets.length\"\r\n        >\r\n          <e-panel\r\n            *ngFor=\"let item of ActiveDashboardPortlets; let i = index\"\r\n            [sizeX]=\"item.sizeX\"\r\n            [id]=\"item.newId\"\r\n            [sizeY]=\"item.sizeY\"\r\n            [row]=\"item.row\"\r\n            [col]=\"item.col\"\r\n          >\r\n            <ng-template #header>\r\n              <div class=\"card-topbar\">\r\n                <div class=\"gadget-title\">\r\n                  {{ GetgadgetTitle(item.config) }}\r\n                </div>\r\n                <div\r\n                  class=\"gadgetBar pane-group-gadget\"\r\n                  [ngClass]=\"{\r\n                    active: duplicatePortletId == item.newId\r\n                  }\"\r\n                >\r\n                  <ul class=\"pane-gadget-container\">\r\n                    <!-- <li [matTooltip]=\"translation.FULLSCREEN?translation.FULLSCREEN:'.FULLSCREEN'\"><img\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"../../../../../assets/img/dashboard_icon/gadget-fullscreen.svg\" /></li> -->\r\n                    <li\r\n                      *ngIf=\"customized\"\r\n                      [matTooltip]=\"\r\n                        translation.DUPLICATE\r\n                          ? translation.DUPLICATE\r\n                          : '.DUPLICATE'\r\n                      \"\r\n                      class=\"arrow-icon\"\r\n                    >\r\n                      <!-- <img\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"../../../../../assets/img/dashboard_icon/menu-duplicate-arrow-new.svg\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/> -->\r\n                      <button\r\n                        mat-button\r\n                        [matMenuTriggerFor]=\"menu\"\r\n                        #menuOption=\"matMenuTrigger\"\r\n                        (menuOpened)=\"onMenuOpen(item)\"\r\n                        (menuClosed)=\"onMenuClose(item)\"\r\n                        class=\"duplicate-action-toggle\"\r\n                      >\r\n                        <img\r\n                          src=\"../../../../../assets/img/dashboard_icon/menu-duplicate-arrow-new.svg\"\r\n                        />\r\n                      </button>\r\n\r\n                      <mat-menu #menu=\"matMenu\" class=\"duplicate-menu\">\r\n                        <ng-container\r\n                          *ngFor=\"let button of duplicateOptions; let i = index\"\r\n                        >\r\n                          <rs-toolbar-item\r\n                            [image]=\"button.image\"\r\n                            [text]=\"button.text\"\r\n                            (click)=\"button.action && button.action()\"\r\n                            [children]=\"button.children\"\r\n                            [disabled]=\"i === 1 && tabList.length === 1\"\r\n                          >\r\n                          </rs-toolbar-item>\r\n                        </ng-container>\r\n                      </mat-menu>\r\n                    </li>\r\n\r\n                    <!-- <li\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t*ngIf=\"customized\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t[matTooltip]=\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttranslation.SET_AS_THUMBNAIL\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? translation.SET_AS_THUMBNAIL\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: '.SET_AS_THUMBNAIL'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(click)=\"downLoadImg(item.newId)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"../../../../../assets/img/dashboard_icon/gadget-thumbnail.svg\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</li> -->\r\n                    <li\r\n                      *ngIf=\"customized && rs.hasPermission('DELETE')\"\r\n                      [matTooltip]=\"\r\n                        translation.DELETE ? translation.DELETE : '.DELETE'\r\n                      \"\r\n                      (click)=\"delete(item)\"\r\n                    >\r\n                      <img\r\n                        src=\"../../../../../assets/img/dashboard_icon/gadget-delete-new.svg\"\r\n                      />\r\n                    </li>\r\n                    <li\r\n                      *ngIf=\"getPortletType(item) !== 'transpose'\"\r\n                      [matTooltip]=\"\r\n                        translation.DOWNLOAD\r\n                          ? translation.DOWNLOAD\r\n                          : '.DOWNLOAD'\r\n                      \"\r\n                    >\r\n                      <img\r\n                        src=\"../../assets/img/dashboard_icon/menu-download-new.svg\"\r\n                        (click)=\"download(item)\"\r\n                      />\r\n                    </li>\r\n                    <li\r\n                      *ngIf=\"\r\n                        customized &&\r\n                        !['newcolumn', 'newline', 'newcolumnline'].includes(\r\n                          getPortletType(item)\r\n                        )\r\n                      \"\r\n                      [matTooltip]=\"\r\n                        translation.FILTER ? translation.FILTER : '.FILTER'\r\n                      \"\r\n                    >\r\n                      <img\r\n                        src=\"../../assets/img/dashboard_icon/gadget-filters-new.svg\"\r\n                        (click)=\"openFilter(item)\"\r\n                      />\r\n                    </li>\r\n\r\n                    <li\r\n                      #unclick\r\n                      *ngIf=\"customized && getPortletType(item) === 'pivot'\"\r\n                      class=\"arrow-icon\"\r\n                    >\r\n                      <img\r\n                        src=\"../../assets/img/dashboard_icon/gadget-basic-sub-total-arrow-new.svg\"\r\n                        (click)=\"openSubtotal(item)\"\r\n                      />\r\n                    </li>\r\n                    <div\r\n                      #unclick\r\n                      class=\"pivotTable-sub-grand-group\"\r\n                      *ngIf=\"\r\n                        showSubTotalGroup &&\r\n                        getPortletType(item) === 'pivot' &&\r\n                        Current_PortletId === item.newId\r\n                      \"\r\n                    >\r\n                      <ul>\r\n                        <li\r\n                          class=\"sub-grand-group\"\r\n                          [ngStyle]=\"{\r\n                            'background-color': subtotal.selected\r\n                              ? '#f8fafb'\r\n                              : '#fff'\r\n                          }\"\r\n                          *ngFor=\"\r\n                            let subtotal of pivotTableSubTotalList;\r\n                            let idx = index\r\n                          \"\r\n                          (click)=\"selectTotalGroup(idx, 'sub', item)\"\r\n                        >\r\n                          <div style=\"display: flex\">\r\n                            <div\r\n                              style=\"\r\n                                height: 33px;\r\n                                width: 34px;\r\n                                text-align: center;\r\n                              \"\r\n                            >\r\n                              <img\r\n                                *ngIf=\"subtotal.selected\"\r\n                                src=\"../../assets/img/dashboard_icon/forms-checkbox-square-tick.svg\"\r\n                              />\r\n                            </div>\r\n                            <span>{{ subtotal.value }}</span>\r\n                          </div>\r\n                        </li>\r\n                      </ul>\r\n                    </div>\r\n                    <li\r\n                      #unclickGrand\r\n                      *ngIf=\"\r\n                        customized &&\r\n                        (getPortletType(item) === 'pivot' ||\r\n                          getPortletType(item) === 'table')\r\n                      \"\r\n                      class=\"arrow-icon\"\r\n                    >\r\n                      <img\r\n                        src=\"../../assets/img/dashboard_icon/gadget-basic-total-arrow-new.svg\"\r\n                        (click)=\"openGrandtotal(item)\"\r\n                      />\r\n                    </li>\r\n                    <div\r\n                      #unclickGrand\r\n                      class=\"pivotTable-sub-grand-group\"\r\n                      *ngIf=\"\r\n                        showgrandTotalGroup &&\r\n                        getPortletType(item) === 'pivot' &&\r\n                        Current_PortletId === item.newId\r\n                      \"\r\n                    >\r\n                      <ul>\r\n                        <li\r\n                          class=\"sub-grand-group\"\r\n                          [ngStyle]=\"{\r\n                            'background-color': grandtotal.selected\r\n                              ? '#f8fafb'\r\n                              : '#fff'\r\n                          }\"\r\n                          *ngFor=\"\r\n                            let grandtotal of pivotTableGrandTotalList;\r\n                            let idx = index\r\n                          \"\r\n                          (click)=\"selectTotalGroup(idx, 'grand', item)\"\r\n                        >\r\n                          <div style=\"display: flex\">\r\n                            <div\r\n                              style=\"\r\n                                height: 33px;\r\n                                width: 34px;\r\n                                text-align: center;\r\n                              \"\r\n                            >\r\n                              <img\r\n                                *ngIf=\"grandtotal.selected\"\r\n                                src=\"../../assets/img/dashboard_icon/forms-checkbox-square-tick.svg\"\r\n                              />\r\n                            </div>\r\n                            <span>{{ grandtotal.value }}</span>\r\n                          </div>\r\n                        </li>\r\n                      </ul>\r\n                    </div>\r\n                    <div\r\n                      #unclickGrand\r\n                      class=\"pivotTable-sub-grand-group\"\r\n                      style=\"height: 76px\"\r\n                      *ngIf=\"\r\n                        showTableGrandTotalGroup &&\r\n                        getPortletType(item) === 'table' &&\r\n                        Current_PortletId === item.newId\r\n                      \"\r\n                    >\r\n                      <ul>\r\n                        <li\r\n                          class=\"sub-grand-group\"\r\n                          [ngStyle]=\"{\r\n                            'background-color': grandtotal.selected\r\n                              ? '#f8fafb'\r\n                              : '#fff'\r\n                          }\"\r\n                          *ngFor=\"\r\n                            let grandtotal of tableGrandTotalList;\r\n                            let idx = index\r\n                          \"\r\n                          (click)=\"selectTotalGroup(idx, 'tableGrand', item)\"\r\n                        >\r\n                          <div style=\"display: flex\">\r\n                            <div\r\n                              style=\"\r\n                                height: 33px;\r\n                                width: 34px;\r\n                                text-align: center;\r\n                              \"\r\n                            >\r\n                              <img\r\n                                *ngIf=\"grandtotal.selected\"\r\n                                src=\"../../assets/img/dashboard_icon/forms-checkbox-square-tick.svg\"\r\n                              />\r\n                            </div>\r\n                            <span>{{ grandtotal.value }}</span>\r\n                          </div>\r\n                        </li>\r\n                      </ul>\r\n                    </div>\r\n                    <li\r\n                      *ngIf=\"\r\n                        customized &&\r\n                        !['newcolumn', 'newline', 'newcolumnline'].includes(\r\n                          getPortletType(item)\r\n                        )\r\n                      \"\r\n                      [matTooltip]=\"\r\n                        translation.FORMAT ? translation.FORMAT : '.FORMAT'\r\n                      \"\r\n                    >\r\n                      <img\r\n                        src=\"../../assets/img/dashboard_icon/gadget-basic-format-new.svg\"\r\n                        (click)=\"fieldFormat(item)\"\r\n                      />\r\n                    </li>\r\n                    <li\r\n                      *ngIf=\"\r\n                        (customized || url_type === 'shared') &&\r\n                        !['newcolumn', 'newline', 'newcolumnline'].includes(\r\n                          getPortletType(item)\r\n                        )\r\n                      \"\r\n                      [matTooltip]=\"\r\n                        translation.CONFIGURATIONS || '.CONFIGURATIONS'\r\n                      \"\r\n                      (click)=\"configurations(item, $event)\"\r\n                    >\r\n                      <img\r\n                        src=\"../../assets/img/dashboard_icon/gadget-settings-new.svg\"\r\n                      />\r\n                    </li>\r\n                    <li\r\n                      *ngIf=\"\r\n                        customized &&\r\n                        (getPortletType(item) === 'pivot' ||\r\n                          getPortletType(item) === 'table')\r\n                      \"\r\n                      [matTooltip]=\"\r\n                        translation.DRILL_THROUGH || '.DRILL_THROUGH'\r\n                      \"\r\n                      (click)=\"redirect(item)\"\r\n                    >\r\n                      <img\r\n                        src=\"../../assets/img/dashboard_icon/external-link-new.svg\"\r\n                      />\r\n                    </li>\r\n                    <li\r\n                      *ngIf=\"customized\"\r\n                      [matTooltip]=\"\r\n                        translation.EDIT ? translation.EDIT : '.EDIT'\r\n                      \"\r\n                      (click)=\"edit(item)\"\r\n                    >\r\n                      <img\r\n                        src=\"../../assets/img/dashboard_icon/gadget-edit-new.svg\"\r\n                      />\r\n                    </li>\r\n                  </ul>\r\n                </div>\r\n              </div>\r\n            </ng-template>\r\n            <ng-template #content>\r\n              <kt-gadget-empty *ngIf=\"getPortletType(item) == 'empty'\">\r\n              </kt-gadget-empty>\r\n              <kt-gadget-table\r\n                #table\r\n                *ngIf=\"getPortletType(item) == 'table'\"\r\n                [portlets]=\"portlets\"\r\n                [dashboard]=\"dashboard\"\r\n                [portlet]=\"item\"\r\n                [customized]=\"customized\"\r\n              >\r\n              </kt-gadget-table>\r\n              <kt-gadget-pivot\r\n                #pivot\r\n                *ngIf=\"getPortletType(item) == 'pivot'\"\r\n                [portlet]=\"item\"\r\n                [dashboard]=\"dashboard\"\r\n                [portlets]=\"portlets\"\r\n                [customized]=\"customized\"\r\n                [themeColor]=\"item.themeColor\"\r\n              >\r\n              </kt-gadget-pivot>\r\n              <kt-gadget-pivot-chart\r\n                #pivot\r\n                *ngIf=\"getPortletType(item) == 'newchart'\"\r\n                [portlet]=\"item\"\r\n                [dashboard]=\"dashboard\"\r\n                (updatePorletConfig)=\"updatePorletConfig($event)\"\r\n                [portlets]=\"portlets\"\r\n                [themeColor]=\"item.themeColor\"\r\n              >\r\n              </kt-gadget-pivot-chart>\r\n              <kt-gadget-transpose\r\n                #transpose\r\n                *ngIf=\"getPortletType(item) == 'transpose'\"\r\n                [portlets]=\"portlets\"\r\n                [dashboard]=\"dashboard\"\r\n                [portlet]=\"item\"\r\n              >\r\n              </kt-gadget-transpose>\r\n              <kt-bar-charts\r\n                *ngIf=\"\r\n                  ['newcolumn', 'newline', 'newcolumnline'].includes(\r\n                    getPortletType(item)\r\n                  )\r\n                \"\r\n                #newChart\r\n                [dashboard]=\"dashboard\"\r\n                [dataColumn]=\"item.dataColumn\"\r\n                [dataLine]=\"item.dataLine\"\r\n                [columnType]=\"item.columnType\"\r\n                [lineType]=\"item.lineType\"\r\n                [themeColor]=\"item.themeColor\"\r\n                [portlet]=\"item\"\r\n                (updatePorletConfig)=\"updatePorletConfig($event)\"\r\n              ></kt-bar-charts>\r\n              <kt-gadget-map\r\n                #map\r\n                *ngIf=\"getPortletType(item) === 'map'\"\r\n                [portlets]=\"portlets\"\r\n                [dashboard]=\"dashboard\"\r\n                [portlet]=\"item\"\r\n              >\r\n              </kt-gadget-map>\r\n            </ng-template>\r\n          </e-panel>\r\n        </e-panels>\r\n      </ejs-dashboardlayout>\r\n\r\n      <ejs-dashboardlayout\r\n        *ngIf=\"downloadCachePortlets?.length\"\r\n        id=\"downloadCacheLayout\"\r\n        [columns]=\"4\"\r\n        [cellSpacing]=\"cellSpacing\"\r\n      >\r\n        <e-panels>\r\n          <e-panel\r\n            *ngFor=\"let item of downloadCachePortlets; let i = index\"\r\n            [sizeX]=\"item.sizeX\"\r\n            [id]=\"item.newId\"\r\n            [sizeY]=\"item.sizeY\"\r\n            [row]=\"item.row\"\r\n            [col]=\"item.col\"\r\n          >\r\n            <ng-template #content>\r\n              <kt-gadget-table\r\n                #table\r\n                *ngIf=\"getPortletType(item) == 'table'\"\r\n                [portlets]=\"portlets\"\r\n                [dashboard]=\"dashboard\"\r\n                [portlet]=\"item\"\r\n                [customized]=\"customized\"\r\n                [isDownloadCache]=\"true\"\r\n              >\r\n              </kt-gadget-table>\r\n              <kt-gadget-pivot\r\n                #pivot\r\n                *ngIf=\"getPortletType(item) == 'pivot'\"\r\n                [portlet]=\"item\"\r\n                [dashboard]=\"dashboard\"\r\n                [portlets]=\"portlets\"\r\n                [themeColor]=\"item.themeColor\"\r\n                [customized]=\"customized\"\r\n                [isDownloadCache]=\"true\"\r\n              >\r\n              </kt-gadget-pivot>\r\n              <kt-gadget-pivot-chart\r\n                #pivot\r\n                *ngIf=\"getPortletType(item) == 'newchart'\"\r\n                [portlet]=\"item\"\r\n                [dashboard]=\"dashboard\"\r\n                (updatePorletConfig)=\"updatePorletConfig($event)\"\r\n                [portlets]=\"portlets\"\r\n                [themeColor]=\"item.themeColor\"\r\n                [isDownloadCache]=\"true\"\r\n              >\r\n              </kt-gadget-pivot-chart>\r\n              <kt-bar-charts\r\n                *ngIf=\"\r\n                  ['newcolumn', 'newline', 'newcolumnline'].includes(\r\n                    getPortletType(item)\r\n                  )\r\n                \"\r\n                #newChart\r\n                [dashboard]=\"dashboard\"\r\n                [dataColumn]=\"item.dataColumn\"\r\n                [dataLine]=\"item.dataLine\"\r\n                [columnType]=\"item.columnType\"\r\n                [lineType]=\"item.lineType\"\r\n                [themeColor]=\"item.themeColor\"\r\n                [portlet]=\"item\"\r\n                [isDownloadCache]=\"true\"\r\n                (updatePorletConfig)=\"updatePorletConfig($event)\"\r\n              ></kt-bar-charts>\r\n            </ng-template>\r\n          </e-panel>\r\n        </e-panels>\r\n      </ejs-dashboardlayout>\r\n    </div>\r\n  </div>\r\n  <kt-empty-icon-prompt\r\n    [displayCode]=\"'customize'\"\r\n    [dashboard]=\"dashboard\"\r\n    hidden\r\n  >\r\n  </kt-empty-icon-prompt>\r\n  <div\r\n    id=\"kt-dashboard-tabs\"\r\n    class=\"dashboard-tab-list\"\r\n    cdkDropList\r\n    cdkDropListOrientation=\"horizontal\"\r\n    (cdkDropListDropped)=\"drop($event)\"\r\n  >\r\n    <div\r\n      class=\"tab-item\"\r\n      *ngFor=\"let item of tabList; let i = index\"\r\n      [ngClass]=\"{\r\n        active: item.id === activeTab,\r\n        prev: prevId === item.id && i !== tabList.length - 1\r\n      }\"\r\n      (click)=\"onActiveTab(item, i)\"\r\n      (dblclick)=\"onStartEdit(item.id)\"\r\n      cdkDrag\r\n      [cdkDragDisabled]=\"startEdit\"\r\n    >\r\n      <rs-float-box\r\n        *ngIf=\"customized\"\r\n        #floatBox\r\n        class=\"app-icon-box\"\r\n        trigger=\"rightClick\"\r\n        placement=\"top\"\r\n        position=\"start\"\r\n      >\r\n        <div\r\n          class=\"tab-item-label\"\r\n          *ngIf=\"!startEdit || item.id !== activeTab\"\r\n          [matTooltip]=\"item.label === item.displayLabel ? null : item.label\"\r\n        >\r\n          {{ item.displayLabel }}\r\n        </div>\r\n        <div float-content class=\"tab-action-content\">\r\n          <button class=\"e-btn text\" (click)=\"duplicateTab(item, i)\">\r\n            {{ translation.DUPLICATE }}\r\n          </button>\r\n          <button class=\"e-btn text\" (click)=\"renameTab(item, i)\">\r\n            {{ translation.RENAME }}\r\n          </button>\r\n          <button class=\"e-btn text\" (click)=\"onDeleteTab(item, i)\">\r\n            {{ translation.DELETE }}\r\n          </button>\r\n        </div>\r\n      </rs-float-box>\r\n      <div\r\n        class=\"tab-item-label\"\r\n        *ngIf=\"!customized && (!startEdit || item.id !== activeTab)\"\r\n        [matTooltip]=\"item.label === item.displayLabel ? null : item.label\"\r\n      >\r\n        {{ item.displayLabel }}\r\n      </div>\r\n      <input\r\n        *ngIf=\"startEdit && item.id === activeTab\"\r\n        type=\"text\"\r\n        [(ngModel)]=\"item.label\"\r\n        (input)=\"setTabInput($event)\"\r\n        (blur)=\"saveTabInput(item)\"\r\n      />\r\n    </div>\r\n    <img\r\n      class=\"add-tab-icon\"\r\n      src=\"../../assets/img/dashboard_icon/add-tab.svg\"\r\n      (click)=\"onAddTab()\"\r\n    />\r\n  </div>\r\n  <div\r\n    class=\"sidebar\"\r\n    [ngClass]=\"{ gone: !push_btn }\"\r\n    *ngIf=\"dashboard_sidebar\"\r\n  >\r\n    <!-- <span\r\n\t\t\tclass=\"push-btn\"\r\n\t\t\t(click)=\"pushSlider()\"\r\n\t\t\t[class.left-place]=\"!push_btn\"\r\n\t\t>\r\n\t\t\t<span\r\n\t\t\t\tclass=\"sidebar-btn\"\r\n\t\t\t\t*ngIf=\"push_btn\"\r\n\t\t\t\t[inlineSVG]=\"\r\n\t\t\t\t\t'./assets/media/icons/svg/Navigation/Angle-double-right.svg'\r\n\t\t\t\t\"\r\n\t\t\t></span>\r\n\t\t\t<span\r\n\t\t\t\tclass=\"sidebar-btn\"\r\n\t\t\t\t*ngIf=\"!push_btn\"\r\n\t\t\t\t[inlineSVG]=\"\r\n\t\t\t\t\t'./assets/media/icons/svg/Navigation/Angle-double-left.svg'\r\n\t\t\t\t\"\r\n\t\t\t></span>\r\n\t\t</span> -->\r\n    <rs-sidebar-iconlist-new\r\n      #sidebar\r\n      *ngIf=\"push_btn\"\r\n      [dashboard_sidebar]=\"dashboard_sidebar\"\r\n      [dashboard]=\"dashboard\"\r\n      [dashboardId]=\"url_id\"\r\n      [portlet]=\"portlet\"\r\n      [portlets]=\"portlets\"\r\n      [activeTabId]=\"activeTabId\"\r\n      [activeTabLabel]=\"activeTabLabel\"\r\n      [figureCode]=\"figureCode\"\r\n      [tabactive]=\"tabactive\"\r\n      [_selectedY]=\"selectedY\"\r\n      [_selectedSecondY]=\"selectedSecondY\"\r\n      [_selectedX]=\"selectedX\"\r\n      [_selectedMultiples]=\"selectedMultiples\"\r\n      [_selectTheme]=\"selectTheme\"\r\n      [appCode]=\"appCode\"\r\n      (updatePorlet)=\"updatePorlet($event)\"\r\n      (chartUpdate)=\"chartUpdate($event)\"\r\n      (closeSidebar)=\"closeSidebar($event)\"\r\n      (updatePushBtn)=\"updatePushBtn($event)\"\r\n      (updateTheme)=\"updateTheme($event)\"\r\n      (updatePorletConfig)=\"updatePorletConfig($event)\"\r\n    >\r\n    </rs-sidebar-iconlist-new>\r\n  </div>\r\n  <button\r\n    class=\"addPorlet\"\r\n    *ngIf=\"customized && !push_btn\"\r\n    (click)=\"addPorlet()\"\r\n  >\r\n    <img src=\"../../assets/img/dashboard_icon/add.svg\" alt=\"\" />\r\n  </button>\r\n</div>\r\n","import {\r\n  ChangeDetectorRef,\r\n  Component,\r\n  Input,\r\n  OnInit,\r\n  ViewChild,\r\n  ChangeDetectionStrategy,\r\n  Inject,\r\n  Optional,\r\n} from \"@angular/core\";\r\n\r\nimport {\r\n  IDataOptions,\r\n  PivotFieldListComponent,\r\n  PivotViewComponent,\r\n  EnginePopulatedEventArgs,\r\n  IDataSet,\r\n  ToolbarService,\r\n  FieldListService,\r\n  NumberFormattingService,\r\n  CalculatedFieldService,\r\n  CalculatedFieldCreateEventArgs,\r\n  GroupingBarService,\r\n  FieldDropEventArgs,\r\n  ISort,\r\n  VirtualScrollService,\r\n  IPivotValues,\r\n  IPageSettings,\r\n  DrillThroughEventArgs,\r\n  DrillThroughService,\r\n  PivotActionFailureEventArgs,\r\n  QueryCellInfoEventArgs,\r\n  PageSettings,\r\n  PagerSettings,\r\n  PagerService,\r\n} from \"@syncfusion/ej2-angular-pivotview\";\r\nimport { Pager } from \"@syncfusion/ej2-grids\";\r\nimport {\r\n  L10n,\r\n  enableRipple,\r\n  Browser,\r\n  isNullOrUndefined,\r\n} from \"@syncfusion/ej2-base\";\r\nimport { GridSettings } from \"@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings\";\r\nimport {\r\n  sortBy,\r\n  differenceWith,\r\n  startsWith,\r\n  cloneDeep,\r\n  uniqBy,\r\n  filter as _filter,\r\n  maxBy,\r\n  minBy,\r\n  sumBy,\r\n  meanBy,\r\n} from \"lodash\";\r\nimport { DashboardService } from \"../../dashboard.service\";\r\nimport {\r\n  AGGREGATE_TYPES_TEXT,\r\n  ALL_AGGREGATE_TYPES,\r\n  DashboardPorletsService,\r\n} from \"../../dashboardPorlets.service\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { MaskedTextBox } from \"@syncfusion/ej2-inputs/src/maskedtextbox/maskedtextbox\";\r\nimport { DataManager } from \"@syncfusion/ej2-data/src/manager\";\r\nimport { Predicate, Query } from \"@syncfusion/ej2-data/src/query\";\r\nimport { DataUtil } from \"@syncfusion/ej2-data\";\r\nimport moment from \"moment\";\r\nimport { Router } from \"@angular/router\";\r\nimport { PBF_TOKEN } from \"../../../service/InjectionToken\";\r\nimport { getTranslation } from \"../../../utils/utils\";\r\nenableRipple(false);\r\n\r\n@Component({\r\n  selector: \"rs-gadget-pivot\",\r\n  templateUrl: \"./gadget-pivot.component.html\",\r\n  styleUrls: [\"./gadget-pivot.component.scss\"],\r\n  providers: [\r\n    ToolbarService,\r\n    FieldListService,\r\n    NumberFormattingService,\r\n    CalculatedFieldService,\r\n    GroupingBarService,\r\n    VirtualScrollService,\r\n    DrillThroughService,\r\n    PagerService,\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GadgetPivotComponent implements OnInit {\r\n  @Input() portlet;\r\n  @Input() dashboard;\r\n  @Input() portlets;\r\n  @Input() customized = false;\r\n  @Input() isDownloadCache = false;\r\n  private Pivot_Data: IDataSet[];\r\n  private config;\r\n  public dataSourceSettings: IDataOptions;\r\n  public gridSettings: GridSettings;\r\n  private excludeFields = [];\r\n  private filterSettings = [];\r\n  private datePipeFormat;\r\n  public translation;\r\n  @ViewChild(\"pivotview\", { static: false })\r\n  private pivotObj: PivotViewComponent;\r\n  @ViewChild(\"pivotfieldlist\", { static: false })\r\n  public fieldlistObj: PivotFieldListComponent;\r\n  private observable = new Observable();\r\n  private grandTotals = {};\r\n  private subTotals = {};\r\n  private flag: boolean = false;\r\n  private previousSort: ISort;\r\n  private subscriptions: Subscription[] = [];\r\n  private allDataValue;\r\n  // private calculatedFieldSettings;\r\n  private isInit: boolean = true;\r\n  private pivotSearchBox: MaskedTextBox;\r\n  public tooltipSettings = {\r\n    enable: false,\r\n  };\r\n  private columnTexts = [];\r\n  private configFields = [];\r\n  private quarterFormat = [\r\n    { value: \"03/2021\", format: \"MM/yyyy\" },\r\n    { value: \"03/21\", format: \"MM/dd\" },\r\n    { value: \"3/2021\", format: \"M/yyyy\" },\r\n    { value: \"3/21\", format: \"M/yy\" },\r\n    { value: \"March 2021\", format: \"MMMM yyyy\" },\r\n    { value: \"Mar, 2021\", format: \"MMM, yyyy\" },\r\n    { value: \"March, 2021\", format: \"MMMM, yyyy\" },\r\n    { value: \"2021\", format: \"yyyy\" },\r\n  ];\r\n  public pageSettings: PageSettings;\r\n  public pagerSettings: PagerSettings;\r\n  public rowPager?: Pager;\r\n  public columnPager?: Pager;\r\n  zoomSettings = {\r\n    enable: false,\r\n  };\r\n  itemDataTypeSortArr = [\"Assets\", \"Liabilities\", \"Equity\", \"P&L\", \"Cashflow\"];\r\n  private formatDates = [];\r\n  private customCalculatedFields: any[] = []; // 自定义计算列\r\n  private allowedCalculatedFields: any[] = []; // 允许自定义算法的字段\r\n  private zeroFormatData = {\r\n    emptyList: [],\r\n    hgList: [],\r\n  };\r\n  private millionFields = [];\r\n  private tempSubtotals = [];\r\n  public orderByColumns; // Eg: \"DueDate, Sequence\"\r\n  public isApplyIRR: boolean = false;\r\n  public calcIRRData: any;\r\n  private percentNumFields = [];\r\n  public pageLoading;\r\n  public hyperlinkSettings;\r\n  public headRowSpan: number = 0;\r\n  public headRowCount: number = 0;\r\n  public pvTablePagerId;\r\n  showHightlight = false;\r\n\r\n  constructor(\r\n    private dashboardPorletsService: DashboardPorletsService,\r\n    private dashboardService: DashboardService,\r\n    private ref: ChangeDetectorRef,\r\n    private router: Router,\r\n    @Optional() @Inject(PBF_TOKEN) private pbf: any\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.pvTablePagerId = this.pbf.randomId(\"pivot-pager\");\r\n    this.pageSettings = {\r\n      rowPageSize: 25,\r\n      columnPageSize: 100,\r\n      currentColumnPage: 1,\r\n      currentRowPage: 1,\r\n    } as PageSettings;\r\n    this.pagerSettings = {\r\n      template: `#${this.pvTablePagerId}`,\r\n    } as PagerSettings;\r\n    this.getInfo();\r\n    L10n.load({\r\n      \"en-US\": {\r\n        pivotview: AGGREGATE_TYPES_TEXT,\r\n        pivotfieldlist: AGGREGATE_TYPES_TEXT,\r\n      },\r\n      zh: {\r\n        pivotview: AGGREGATE_TYPES_TEXT,\r\n        pivotfieldlist: AGGREGATE_TYPES_TEXT,\r\n      },\r\n      \"zh-Hant-HK\": {\r\n        pivotview: AGGREGATE_TYPES_TEXT,\r\n        pivotfieldlist: AGGREGATE_TYPES_TEXT,\r\n      },\r\n      ja: {\r\n        pivotview: AGGREGATE_TYPES_TEXT,\r\n        pivotfieldlist: AGGREGATE_TYPES_TEXT,\r\n      },\r\n      ko: {\r\n        pivotview: AGGREGATE_TYPES_TEXT,\r\n        pivotfieldlist: AGGREGATE_TYPES_TEXT,\r\n      },\r\n      fr: {\r\n        pivotview: AGGREGATE_TYPES_TEXT,\r\n        pivotfieldlist: AGGREGATE_TYPES_TEXT,\r\n      },\r\n    });\r\n    this.getData();\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.subscriptions.push(\r\n      this.dashboardService.getchangePivot().subscribe((updated) => {\r\n        if (updated === this.portlet.newId) {\r\n          this.getData();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getStartRefresh().subscribe((dashboardId) => {\r\n        if (dashboardId === this.dashboard.id) {\r\n          this.pageLoading = true;\r\n          this.ref.markForCheck();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getUpdated().subscribe((newId) => {\r\n        if (newId === this.portlet.newId || newId === this.portlet.id) {\r\n          this.getData();\r\n          if (this.pivotObj) this.pivotObj.refreshData();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getRefreshGadget().subscribe((e) => {\r\n        if (!e || e[\"dashboardId\"] !== this.dashboard.id) {\r\n          return;\r\n        }\r\n        const id = e[\"newId\"];\r\n        if (id === this.portlet.newId || id === this.portlet.id) {\r\n          this.pageLoading = false;\r\n          this.getData();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getTableFormat().subscribe((updated) => {\r\n        if (updated === this.portlet.newId) {\r\n          this.getData();\r\n          if (this.pivotObj) this.pivotObj.refreshData();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.clearFieldListObservable().subscribe((updated) => {\r\n        if (updated === this.portlet.newId) {\r\n          this.pivotObj.dataSourceSettings.dataSource = [];\r\n          if (this.pivotObj) this.pivotObj.refreshData();\r\n          if (this.fieldlistObj) this.fieldlistObj.updateDataSource();\r\n          this.ref.markForCheck();\r\n          this.ref.detectChanges();\r\n        }\r\n      })\r\n    );\r\n\r\n    // title change\r\n    this.subscriptions.push(\r\n      this.dashboardService.updatePortletTitle().subscribe((obj) => {\r\n        if (obj.id === this.portlet.newId) {\r\n          this.config = Object.assign({}, JSON.parse(obj.config));\r\n          this.ref.detectChanges();\r\n        }\r\n      })\r\n    );\r\n\r\n    // filter change\r\n    this.subscriptions.push(\r\n      this.dashboardService.getPvTableFilterChange().subscribe((updated) => {\r\n        if (updated === this.portlet.newId) {\r\n          if (this.pivotObj) this.pivotObj.refreshData();\r\n        }\r\n      })\r\n    );\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.subscriptions.forEach((sub) => sub.unsubscribe());\r\n  }\r\n\r\n  onMemberEditorOpen(args: any): void {\r\n    // 你可以在这里根据需要修改args来自定义过滤窗口的行为\r\n    // 11247 专门为item data type而设置\r\n    if (args.fieldName === \"AccountTypeCode\") {\r\n      let res = new Array(5).fill(null);\r\n      const fieldMembers = [...args.fieldMembers];\r\n\r\n      for (let i = fieldMembers.length - 1; i >= 0; i--) {\r\n        let index = -1;\r\n        const item = this.itemDataTypeSortArr.find((name, ind) => {\r\n          if (fieldMembers[i].actualText === name) {\r\n            index = ind;\r\n          }\r\n          return fieldMembers[i].actualText === name;\r\n        });\r\n        if (!item) {\r\n          continue;\r\n        }\r\n        const fillItem = fieldMembers.splice(i, 1);\r\n        res[index] = fillItem[0];\r\n      }\r\n      res = res.filter((item) => item) || [];\r\n      args.fieldMembers = [...res, ...fieldMembers];\r\n      setTimeout(() => {\r\n        const ele = document.querySelector(\".e-member-editor-dialog\");\r\n        if (ele) {\r\n          ele\r\n            .querySelector(\".e-filter-sort\")\r\n            .setAttribute(\"style\", \"display: none\");\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  private setGridSettings() {\r\n    this.gridSettings = {\r\n      columnWidth: 140,\r\n      rowHeight: 40,\r\n      allowSelection: true,\r\n      layout: \"Tabular\",\r\n      selectionSettings: {\r\n        mode: \"Cell\",\r\n        type: \"Multiple\",\r\n        cellSelectionMode: \"Box\",\r\n      },\r\n      columnRender: this.observable.subscribe((args) => {\r\n        this.setColumnsRender(args);\r\n      }) as any,\r\n\r\n      // 升级后 默认会有导出样式覆盖，需要手动设置导出标题样式\r\n      excelHeaderQueryCellInfo: this.observable.subscribe((args: any) => {\r\n        if (args.cell.formattedText === \"\") {\r\n          if (this.headRowSpan === 0) {\r\n            this.headRowSpan = args.cell.rowSpan;\r\n          }\r\n          const rows = this.pivotObj.dataSourceSettings.rows;\r\n          if (this.headRowCount < rows.length) {\r\n            args.cell.rowSpan = this.headRowSpan;\r\n            args.cell.colSpan = 1;\r\n            args.cell.formattedText = rows[this.headRowCount].caption;\r\n          } else {\r\n            args.cell.rowSpan = 1;\r\n            args.cell.colSpan = 1;\r\n          }\r\n          this.headRowCount++;\r\n        }\r\n        // args.style是个ExcelStyle类型\r\n        args.style = {\r\n          bold: true, // 字体加粗\r\n          vAlign: \"Center\",\r\n          wrapText: false, // 不换行\r\n          indent: 0,\r\n          borders: null, // 不需要border\r\n        };\r\n      }) as any,\r\n      // 升级后 默认会有导出样式覆盖，需要手动设置导出内容样式\r\n      excelQueryCellInfo: this.observable.subscribe((args: any) => {\r\n        // 使用pb-fun服务进行正确的颜色转换\r\n        if (args.style && args.style.backColor) {\r\n          args.style.backColor = this.pbf.rgbaToHex(args.style.backColor);\r\n        }\r\n        if (args.style && args.style.fontColor) {\r\n          args.style.fontColor = this.pbf.rgbaToHex(args.style.fontColor);\r\n        }\r\n        let _style: any = {\r\n          bold: false,\r\n          wrapText: false,\r\n          borders: null,\r\n          fontColor: args.style.fontColor,\r\n          backColor: args.style.backColor,\r\n        };\r\n        let colIndex = args.cell.colIndex;\r\n        let rowIndex = args.cell.rowIndex;\r\n        if (this.config.showGrandTotals) {\r\n          // GrandTotal不需要颜色\r\n          if (args.data.length === rowIndex + 1) {\r\n            delete _style.fontColor;\r\n            delete _style.backColor;\r\n          }\r\n        }\r\n        if (args.data[rowIndex][colIndex].formattedText == \"\") {\r\n          args.value = \"\";\r\n        }\r\n        // // 处理数字格式，确保显示为0.0而不是.0\r\n        // if (args.value !== \"\" && typeof args.value === \"number\") {\r\n        // \t// 查找对应的格式设置\r\n        // \tlet formatSetting = null;\r\n        // \tif (\r\n        // \t\tthis.dataSourceSettings &&\r\n        // \t\tthis.dataSourceSettings.formatSettings\r\n        // \t) {\r\n        // \t\tformatSetting =\r\n        // \t\t\tthis.dataSourceSettings.formatSettings.find(\r\n        // \t\t\t\t(fs) => fs.name === args.cell.actualText\r\n        // \t\t\t);\r\n        // \t}\r\n        // \tif (formatSetting && formatSetting.format) {\r\n        // \t\t// 修复数字格式，将#替换为0来确保显示完整的数字\r\n        // \t\tlet fixedFormat = formatSetting.format.replace(\r\n        // \t\t\t/#/g,\r\n        // \t\t\t\"0\"\r\n        // \t\t);\r\n        // \t\t_style.numberFormat = fixedFormat;\r\n        // \t} else {\r\n        // \t\t// 如果没有找到格式设置，但值是数字，应用默认格式\r\n        // \t\t_style.numberFormat = \"0.00\";\r\n        // \t}\r\n        // }\r\n\r\n        args.style = Object.assign(args.style, _style);\r\n        if (args.value === \"\" && args.style.numberFormat) {\r\n          args.style.numberFormat = null;\r\n        }\r\n        if (this.formatDates && this.formatDates.length) {\r\n          let dateFields = this.formatDates.map((el) => {\r\n            return el.name;\r\n          });\r\n          if (\r\n            (args as any).value &&\r\n            ((args as any).cell.colIndex === 0\r\n              ? dateFields.includes((args as any).cell.valueSort.axis)\r\n              : dateFields.includes((args as any).cell.actualText))\r\n          ) {\r\n            //Customize the Row headers/Column headers based on your needs\r\n            let headers;\r\n            if ((args as any).cell.colIndex === 0) {\r\n              headers = (args as any).cell.actualText;\r\n            } else {\r\n              // headers = pivotValues[k][j].formattedText;\r\n              headers = (args as any).value;\r\n            }\r\n            if (headers) {\r\n              let date = new Date(headers);\r\n\r\n              let quarter = Math.floor(date.getMonth() / 3) + 1;\r\n\r\n              let format;\r\n\r\n              this.formatDates.map((el) => {\r\n                if ((args as any).cell.colIndex == 0) {\r\n                  if (el.name == (args as any).cell.valueSort.axis)\r\n                    format = el.format;\r\n                } else {\r\n                  if (el.name == (args as any).cell.actualText)\r\n                    format = el.format;\r\n                }\r\n              });\r\n              (args as any).value = this.getQuarterValue(format, date, quarter);\r\n            }\r\n          }\r\n        }\r\n      }) as any,\r\n      headerCellInfo: this.observable.subscribe((args: any) => {\r\n        let node = args.node.querySelector(\".e-headercelldiv .e-headertext\");\r\n        if (node) node.innerText = args.cell.column.headerText;\r\n\r\n        const textAlign = args.cell.column.textAlign;\r\n        args.cell.column.headerTextAlign = textAlign;\r\n        args.node.style.textAlign = textAlign === \"Right\" ? \"right\" : \"left\"; // Align right for numeric columns\r\n        if (textAlign === \"Right\") {\r\n          args.node.classList.add(\"header-align-right\");\r\n        }\r\n        if (args.cell.column.headerText === \"\") {\r\n          const index = args.cell.column.index;\r\n          const rows = this.pivotObj.dataSourceSettings.rows;\r\n          let node = args.node.querySelector(\".e-headercelldiv\");\r\n          if (node) {\r\n            node.style.display = \"block\";\r\n          }\r\n          if (rows[index]) {\r\n            args.node.querySelector(\".e-headertext\").innerText =\r\n              rows[index].caption;\r\n          }\r\n        }\r\n        // this.ref.markForCheck();\r\n      }) as any,\r\n    } as any;\r\n  }\r\n\r\n  beforeExport(exportData) {\r\n    if (exportData) {\r\n      const keyMap = {};\r\n      this.dataSourceSettings.formatSettings.forEach((data) => {\r\n        if (\r\n          data.format === \"#,###,,.0;(#,###,,.0)\" ||\r\n          data.format === \"#,###,,;(#,###,,)\" ||\r\n          data.format === \"#,###,,.00;(#,###,,.00)\"\r\n        ) {\r\n          keyMap[data.name] = true;\r\n        }\r\n      });\r\n      if (exportData.dataCollections && exportData.dataCollections.length) {\r\n        exportData.dataCollections[0].forEach((row) => {\r\n          row.forEach((cell) => {\r\n            if (keyMap[cell.actualText]) {\r\n              cell.value = cell.actualValue;\r\n            }\r\n\r\n            if (\r\n              typeof cell.value === \"object\" &&\r\n              typeof cell.formattedText === \"string\"\r\n            ) {\r\n              cell.value = cell.formattedText;\r\n            }\r\n          });\r\n        });\r\n      }\r\n    }\r\n  }\r\n\r\n  private async getData() {\r\n    this.pageLoading = false;\r\n    let columns = [];\r\n    let values = [];\r\n    let formatSettings = [];\r\n    let rows = [];\r\n    let fieldMapping = [];\r\n    // 清空grandTotals和subTotals\r\n    this.grandTotals = {};\r\n    this.subTotals = {};\r\n    this.config = JSON.parse(this.portlet.config);\r\n    if (this.config.redirectObject) {\r\n      this.showHightlight = this.config.redirectObject.showHightlight;\r\n      this.ref.detectChanges();\r\n    }\r\n    this.setGridSettings();\r\n    if (this.config.fields) {\r\n      if (this.dashboardPorletsService.allFieldsObj[this.portlet.id]) {\r\n        this.configFields = this.dashboardPorletsService.setConfigFields(\r\n          this.dashboardPorletsService.allFieldsObj[this.portlet.id],\r\n          this.config.fields\r\n        );\r\n      } else {\r\n        this.configFields = [...this.config.fields];\r\n      }\r\n    }\r\n\r\n    this.Pivot_Data = this.dashboardPorletsService.getResultByDataTable(\r\n      this.portlet,\r\n      false,\r\n      false,\r\n      this.dashboard.id\r\n    );\r\n\r\n    this.orderByColumns = this.dashboardPorletsService.getOrderByColumnsNew(\r\n      this.portlet.figureCode,\r\n      this.dashboard\r\n    );\r\n\r\n    // this.Pivot_Data = DataUtil.parse.parseJson(this.Pivot_Data);\r\n    if (this.Pivot_Data && this.Pivot_Data.length > 0) {\r\n      // 移除列名和数据key不匹配的项\r\n      this.getexcludeFields(this.configFields, this.Pivot_Data[0]);\r\n      if (!this.allowedCalculatedFields.length) {\r\n        this.allowedCalculatedFields = Object.keys(this.Pivot_Data[0]);\r\n      }\r\n      for (let item of this.configFields) {\r\n        // 字段分组 https://ej2.syncfusion.com/angular/documentation/pivotview/field-list?search=fieldMapping#group-fields-under-desired-folder-name\r\n        fieldMapping.push({\r\n          name: item.colName,\r\n          caption: item.addtionName\r\n            ? `${item.langValue} ${item.addtionName}`\r\n            : item.langValue\r\n            ? item.langValue\r\n            : this.translation[item.langCode] || item.langCode,\r\n\r\n          dataType: item.dataType,\r\n        });\r\n      }\r\n    }\r\n    if (this.configFields) {\r\n      this.percentNumFields = [];\r\n      this.formatDates = [];\r\n      this.zeroFormatData.hgList = [];\r\n      this.zeroFormatData.emptyList = [];\r\n      this.millionFields = [];\r\n      this.configFields.map((el) => {\r\n        // SMP2-2486 & percentNum的format问题\r\n        if (el.dataType == \"percentNum\") {\r\n          this.percentNumFields.push(el.colName);\r\n        }\r\n        if (\r\n          el.format &&\r\n          el.format.length &&\r\n          el.format[0].formatChecked &&\r\n          [2, 5, 8, 11, 14, 17].includes(el.format[0].selectedFormat)\r\n        )\r\n          this.zeroFormatData.hgList.push(el.colName);\r\n        if (\r\n          el.format &&\r\n          el.format.length &&\r\n          el.format[0].formatChecked &&\r\n          [3, 6, 9, 12, 15, 18].includes(el.format[0].selectedFormat)\r\n        )\r\n          this.zeroFormatData.emptyList.push(el.colName);\r\n        //  pivotTableformatPercent 百分比也有10,11,12 但是它是显示0.00x的格式，所以得排除\r\n        if (\r\n          el.dataType !== \"percent\" &&\r\n          el.format &&\r\n          el.format.length &&\r\n          el.format[0].formatChecked &&\r\n          [10, 11, 12, 13, 14, 15, 16, 17, 18].includes(\r\n            el.format[0].selectedFormat\r\n          )\r\n        )\r\n          this.millionFields.push(el.colName);\r\n        if (\r\n          el.dataType === \"number\" &&\r\n          (!el.format ||\r\n            (el.format && el.format.length && !el.format[0].formatChecked))\r\n        ) {\r\n          const formatData = {\r\n            name: el.colName,\r\n            //SMP2-3026 and SMP2-3059\r\n            format:\r\n              el.colName !== \"PortInvStk\" && el.colName !== \"PortFdInvStk\"\r\n                ? this.dashboardPorletsService.formatNumber(el.dp)\r\n                : \"##0.#######0\",\r\n            useGrouping: true,\r\n          };\r\n\r\n          formatSettings.push(formatData);\r\n        }\r\n        if (\r\n          (el.dataType === \"percent\" || el.dataType === \"percentNum\") &&\r\n          (!el.format ||\r\n            (el.format && el.format.length && !el.format[0].formatChecked))\r\n        ) {\r\n          const formatData = {\r\n            name: el.colName,\r\n            format: this.dashboardPorletsService.formatPercent(el.dp),\r\n          };\r\n          formatSettings.push(formatData);\r\n        }\r\n        if (\r\n          el.dataType === \"multiple\" &&\r\n          (!el.format ||\r\n            (el.format && el.format.length && !el.format[0].formatChecked))\r\n        ) {\r\n          const formatData = {\r\n            name: el.colName,\r\n            format: this.dashboardPorletsService.formatMultiple(el.dp),\r\n          };\r\n          formatSettings.push(formatData);\r\n        }\r\n        if (el.dataType === \"datetime\") {\r\n          let format = \"\";\r\n          if (el.format && el.format.length && el.format[0].formatChecked) {\r\n            if (el.format[0].dateType == \"Quarter\") {\r\n              let format_ = el.format[0].selectedFormatDisplay;\r\n              let formatInfo = this.quarterFormat.filter(\r\n                (qur) => qur.value == format_\r\n              );\r\n              if (formatInfo.length) {\r\n                format = formatInfo[0].format;\r\n              } else {\r\n                const formatData = {\r\n                  name: el.colName,\r\n                  format: format_,\r\n                  type: \"date\",\r\n                };\r\n                this.formatDates.push(formatData);\r\n              }\r\n            } else if (el.format[0].dateType == \"Date\") {\r\n              let fromIdx = el.format[0].selectedFormatDisplay.indexOf(\"(\");\r\n              let toIdx = el.format[0].selectedFormatDisplay.indexOf(\")\");\r\n              let format_ = el.format[0].selectedFormatDisplay.slice(\r\n                fromIdx + 1,\r\n                toIdx\r\n              );\r\n              switch (format_) {\r\n                case \"DD/MM/YYYY\":\r\n                  format = \"dd/MM/yyyy\";\r\n                  break;\r\n                case \"DD/MM/YY\":\r\n                  format = \"dd/MM/yy\";\r\n                  break;\r\n                case \"MM/DD/YYYY\":\r\n                  format = \"MM/dd/yyyy\";\r\n                  break;\r\n                case \"MM/DD/YY\":\r\n                  format = \"MM/dd/yy\";\r\n                  break;\r\n                case \"YYYY-MM-DD\":\r\n                  format = \"yyyy-MM-dd\";\r\n                  break;\r\n                case \"YY-MM-DD\":\r\n                  format = \"yy-MM-dd\";\r\n                  break;\r\n                case \"DD-MM-YYYY\":\r\n                  format = \"dd-MM-yyyy\";\r\n                  break;\r\n                case \"DD-MM-YY\":\r\n                  format = \"dd-MM-yy\";\r\n                  break;\r\n                case \"MM-DD-YYYY\":\r\n                  format = \"MM-dd-yyyy\";\r\n                  break;\r\n                case \"MM-DD-YY\":\r\n                  format = \"MM-dd-yy\";\r\n                  break;\r\n                case \"MMM DD, YYYY\":\r\n                  format = \"MMM dd, yyyy\";\r\n                  break;\r\n                case \"DD-MMM-YYYY\":\r\n                  format = \"dd-MMM-yyyy\";\r\n                  break;\r\n                default:\r\n                  break;\r\n              }\r\n            }\r\n          }\r\n          if (!format) {\r\n            const formatData = {\r\n              name: el.colName,\r\n              format: this.datePipeFormat,\r\n              type: \"date\",\r\n            };\r\n            formatSettings.push(formatData);\r\n          } else {\r\n            const formatData = {\r\n              name: el.colName,\r\n              format: format,\r\n              type: \"date\",\r\n            };\r\n\r\n            formatSettings.push(formatData);\r\n          }\r\n        }\r\n      });\r\n    }\r\n    //calculatedFieldSettings format push to formatSettings\r\n    if (\r\n      this.config.calculatedFieldSettings &&\r\n      this.config.calculatedFieldSettings.length > 0\r\n    ) {\r\n      this.config.calculatedFieldSettings.map((el) => {\r\n        if (el.formatString !== \"\") {\r\n          for (let i = formatSettings.length - 1; i >= 0; i--) {\r\n            if (formatSettings[i].name === el.name) {\r\n              formatSettings.splice(i, 1);\r\n            }\r\n          }\r\n          formatSettings.push({\r\n            name: el.name,\r\n            format: el.formatString,\r\n          });\r\n        }\r\n      });\r\n    }\r\n    let series = this.config.yaxis.series;\r\n    if (series) {\r\n      for (let item of series) {\r\n        const value = {\r\n          name: item.colName,\r\n          caption: this.getCaptionByName(item.colName) || item.title,\r\n          type: item.calMethod,\r\n        };\r\n        values.push(value);\r\n      }\r\n    }\r\n    let groups = this.config.xaxis.groups;\r\n    if (groups) {\r\n      for (let gitem of groups) {\r\n        const field = this.configFields.filter(\r\n          (el) => el.colName === gitem.name\r\n        );\r\n        if (field.length > 0) {\r\n          gitem.showSubTotals = field[0].showSubTotals;\r\n          gitem.caption =\r\n            field[0].langValue ||\r\n            this.translation[field[0].langCode] ||\r\n            gitem.caption ||\r\n            field[0].langCode;\r\n        }\r\n        rows.push(gitem);\r\n      }\r\n    }\r\n    if (this.config.columnGroup && this.config.columnGroup.length) {\r\n      for (let item of this.config.columnGroup) {\r\n        const field = this.configFields.filter(\r\n          (el) => el.colName === item.name\r\n        );\r\n        if (field.length > 0) {\r\n          item.showSubTotals = field[0].showSubTotals;\r\n          item.caption =\r\n            field[0].langValue ||\r\n            this.translation[field[0].langCode] ||\r\n            field[0].langCode ||\r\n            item.caption;\r\n        }\r\n        columns.push(item);\r\n      }\r\n    }\r\n    let conditionalFormatSettings = [];\r\n    this.configFields.forEach((field) => {\r\n      if (field.format && field.format.length) {\r\n        if (field.format[0].fontSettingChecked) {\r\n          let conditionalFormatObj = {\r\n            applyGrandTotals: true,\r\n            measure: \"\",\r\n            value1: null,\r\n            value2: null,\r\n            conditions: \"\",\r\n            style: {\r\n              backgroundColor: \"\",\r\n              color: \"\",\r\n              fontFamily: \"\",\r\n              fontSize: \"\",\r\n            },\r\n          };\r\n          let negaConditionalFormatObj = {\r\n            applyGrandTotals: true,\r\n            measure: \"\",\r\n            value1: null,\r\n            value2: null,\r\n            conditions: \"\",\r\n            style: {\r\n              backgroundColor: \"\",\r\n              color: \"\",\r\n              fontFamily: \"\",\r\n              fontSize: \"\",\r\n            },\r\n          };\r\n          // font setting start\r\n          negaConditionalFormatObj.measure = field.format[0].selectedField;\r\n          conditionalFormatObj.measure = field.format[0].selectedField;\r\n\r\n          if (field.format[0].formatChecked && field.format[0].compareSelect) {\r\n            this.setCompareConditional(\r\n              negaConditionalFormatObj,\r\n              conditionalFormatObj,\r\n              field.format[0]\r\n            );\r\n          } else {\r\n            delete conditionalFormatObj.value2;\r\n            delete negaConditionalFormatObj.value2;\r\n            negaConditionalFormatObj.value1 = 0;\r\n            negaConditionalFormatObj.conditions = \"LessThan\";\r\n            conditionalFormatObj.value1 = 0;\r\n            conditionalFormatObj.conditions = \"GreaterThan\";\r\n            this.setFontSettingConditional(\r\n              negaConditionalFormatObj,\r\n              field.format[0],\r\n              -1\r\n            );\r\n            this.setFontSettingConditional(\r\n              conditionalFormatObj,\r\n              field.format[0],\r\n              1\r\n            );\r\n          }\r\n          conditionalFormatSettings.push(negaConditionalFormatObj);\r\n          conditionalFormatSettings.unshift(conditionalFormatObj);\r\n          // font setting end\r\n        }\r\n        let formatSettingsObj = {\r\n          name: \"\",\r\n          format: \"\",\r\n        };\r\n        if (field.format[0].formatChecked) {\r\n          formatSettingsObj.name = field.format[0].selectedField;\r\n          formatSettingsObj.format =\r\n            this.dashboardPorletsService.pivotTableformatNumber(\r\n              field.format[0].selectedFormat\r\n            );\r\n          switch (field.format[0].dataType) {\r\n            case \"number\":\r\n              formatSettingsObj.format =\r\n                this.dashboardPorletsService.pivotTableformatNumber(\r\n                  field.format[0].selectedFormat\r\n                );\r\n              break;\r\n            case \"integer\":\r\n              formatSettingsObj.format =\r\n                this.dashboardPorletsService.pivotTableformatInteger(\r\n                  field.format[0].selectedFormat\r\n                );\r\n              break;\r\n            case \"percentNum\":\r\n            case \"percent\":\r\n              formatSettingsObj.format =\r\n                this.dashboardPorletsService.pivotTableformatPercent(\r\n                  field.format[0].selectedFormat\r\n                );\r\n              break;\r\n            case \"multiple\":\r\n              formatSettingsObj.format =\r\n                this.dashboardPorletsService.pivotTableformatMultiple(\r\n                  field.format[0].selectedFormat\r\n                );\r\n              break;\r\n            case \"datetime\":\r\n              let format = \"\";\r\n              if (field.format && field.format.length) {\r\n                if (field.format[0].dateType == \"Quarter\") {\r\n                  format = field.format[0].selectedFormatDisplay;\r\n                } else if (field.format[0].dateType == \"Date\") {\r\n                  let fromIdx =\r\n                    field.format[0].selectedFormatDisplay.indexOf(\"(\");\r\n                  let toIdx =\r\n                    field.format[0].selectedFormatDisplay.indexOf(\")\");\r\n                  format = field.format[0].selectedFormatDisplay.slice(\r\n                    fromIdx + 1,\r\n                    toIdx\r\n                  );\r\n                }\r\n              }\r\n              if (format) {\r\n                formatSettingsObj = {\r\n                  name: field.colName,\r\n                  format: \"\",\r\n                };\r\n                // field.dataType = \"string\";\r\n              } else {\r\n                formatSettingsObj.format = this.datePipeFormat;\r\n                formatSettingsObj[\"type\"] = \"date\";\r\n              }\r\n              break;\r\n            default:\r\n              break;\r\n          }\r\n        }\r\n        if (field.format[0].dataType !== \"string\" && formatSettingsObj.format) {\r\n          formatSettings.push(formatSettingsObj);\r\n        }\r\n      }\r\n    });\r\n    this.customCalculatedFields = this.config.customCalculatedFields\r\n      ? this.config.customCalculatedFields\r\n      : [];\r\n\r\n    // SMP2-4582 AGIC - Dashboard item sequence\r\n    let isExistSeq = false;\r\n    let sortSettings = this.config.sortSettings || [];\r\n    if (\r\n      this.Pivot_Data &&\r\n      this.Pivot_Data[0] &&\r\n      this.Pivot_Data[0].Seq !== null\r\n    ) {\r\n      // 取消Name的默认排序，根据Seq来排序\r\n      sortSettings.push({ name: \"Name\", order: \"None\" });\r\n      isExistSeq = true;\r\n    }\r\n    let filterSettings = this.dashboardPorletsService.checkFilterSettings(\r\n      this.config,\r\n      this.configFields,\r\n      this.Pivot_Data\r\n    );\r\n    let nameFilter = filterSettings.find((x) => x.name === \"Name\");\r\n    // 存在 Name的filter时，会按照默认排序，需要对Name进行Seq排序处理\r\n    if (isExistSeq && nameFilter && rows.some((x) => x.name === \"Name\")) {\r\n      let items = nameFilter.items; // 拿到当前排序，默认A-Z\r\n      let seqArr = [];\r\n      items.forEach((name) => {\r\n        let obj = this.Pivot_Data.find((x) => x.Name === name);\r\n        let item: any = {\r\n          name: name,\r\n          seq: obj.Seq,\r\n        };\r\n        seqArr.push(item);\r\n      });\r\n      seqArr.sort((a, b) => a.seq - b.seq);\r\n      nameFilter.items = seqArr.map((x) => x.name);\r\n    }\r\n\r\n    const allFields =\r\n      this.dashboardPorletsService.allFieldsObj[this.portlet.id];\r\n    if (allFields) {\r\n      values.forEach((value) => {\r\n        const item = allFields.find((field) => field.colName === value.name);\r\n        if (item) {\r\n          value.caption =\r\n            (item.format && item.format.length && item.format[0].displayName) ||\r\n            item.langValue ||\r\n            this.translation[item.langCode] ||\r\n            item.langCode;\r\n        }\r\n      });\r\n    }\r\n    let hasItemDataType = false;\r\n    if (this.Pivot_Data) {\r\n      this.Pivot_Data.map((data) => {\r\n        if (data[\"AccountTypeCode\"]) {\r\n          hasItemDataType = true;\r\n        }\r\n        rows.forEach((row) => {\r\n          if (data[row.name] === \"\") {\r\n            data[row.name] = \" \";\r\n          }\r\n        });\r\n      });\r\n    }\r\n    if (hasItemDataType) {\r\n      sortSettings.push({\r\n        name: \"AccountTypeCode\",\r\n        order: \"Ascending\",\r\n        membersOrder: [...this.itemDataTypeSortArr],\r\n      });\r\n    }\r\n    this.config.filters.forEach((filter) => {\r\n      filter.caption = this.getCaptionByName(filter.name) || filter.caption;\r\n    });\r\n    formatSettings = formatSettings.filter((item) => item.format);\r\n    this.dataSourceSettings = {\r\n      dataSource:\r\n        this.Pivot_Data.map((ele) => {\r\n          return {\r\n            ...ele,\r\n          };\r\n        }) || [],\r\n      rows: rows || [],\r\n      columns: columns || [],\r\n      values: values || [],\r\n      filters: this.config.filters,\r\n      filterSettings: filterSettings,\r\n      excludeFields: this.excludeFields,\r\n      formatSettings: formatSettings,\r\n      conditionalFormatSettings: conditionalFormatSettings,\r\n      // 用于收起展开指定层级, 这玩意只能展开第一层,\r\n      // 必须设定expandAll 为false（默认是false）， 这样子才能实现只展开两层\r\n      // drilledMembers,\r\n      expandAll: true,\r\n      enableSorting: true,\r\n      fieldMapping: fieldMapping,\r\n      calculatedFieldSettings: this.config.calculatedFieldSettings,\r\n      sortSettings: sortSettings,\r\n      // groupSettings: this.config.groupSettings,\r\n      valueSortSettings: {\r\n        ...this.config.valueSortSettings,\r\n        headerDelimiter: \"##\",\r\n      },\r\n      showGrandTotals: this.config.showGrandTotals,\r\n      showRowGrandTotals: this.config.showRowGrandTotals,\r\n      showColumnGrandTotals: this.config.showColumnGrandTotals,\r\n      // 新版本问题\r\n      // showSubTotals 为false时: showRowSubTotals,showColumnSubTotals任意为true Excel导出就爆炸格式错误\r\n      // showSubTotals 为true时: showRowSubTotals,showColumnSubTotals任意为false Excel导出就爆炸格式错误\r\n      showSubTotals: this.config.showSubTotals,\r\n      showRowSubTotals: this.config.showRowSubTotals,\r\n      showColumnSubTotals: this.config.showColumnSubTotals,\r\n    };\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  getCaptionByName(nameString) {\r\n    if (!nameString) return \"\";\r\n    const field = this.configFields.find((el) => el.colName === nameString);\r\n\r\n    return field\r\n      ? field.langValue ||\r\n          this.translation[field && field.langCode] ||\r\n          field.langCode\r\n      : \"\";\r\n  }\r\n\r\n  public afterPopulate(args: EnginePopulatedEventArgs): void {\r\n    this.tempSubtotals = [];\r\n    this.grandTotals = {};\r\n    this.subTotals = {};\r\n    let tempshowArray = [];\r\n    this.config.yaxis.series.forEach((item) => {\r\n      if (\r\n        item.hasOwnProperty(\"showSubTotals\") &&\r\n        item.hasOwnProperty(\"showGrandTotals\")\r\n      ) {\r\n        tempshowArray.push({\r\n          name: item.colName,\r\n          calMethod: item.calMethod,\r\n          showSubTotals: item.showSubTotals,\r\n          showGrandTotals: item.showGrandTotals,\r\n        });\r\n      } else {\r\n        if (item.hasOwnProperty(\"showGrandTotals\")) {\r\n          tempshowArray.push({\r\n            name: item.colName,\r\n            calMethod: item.calMethod,\r\n            showGrandTotals: item.showGrandTotals,\r\n          });\r\n        }\r\n        if (item.hasOwnProperty(\"showSubTotals\")) {\r\n          tempshowArray.push({\r\n            name: item.colName,\r\n            calMethod: item.calMethod,\r\n            showSubTotals: item.showSubTotals,\r\n          });\r\n        }\r\n      }\r\n    });\r\n\r\n    if (this.fieldlistObj && this.pivotObj) {\r\n      this.config.columnGroup = [];\r\n      this.config.xaxis.groups = [];\r\n      this.config.yaxis.series = [];\r\n      this.config.filters = [];\r\n      this.config.filterSettings = [];\r\n      this.config.calculatedFieldSettings = [];\r\n      let groupSettings = this.getDataSourceSettingsProp(\r\n        this.fieldlistObj,\r\n        \"groupSettings\"\r\n      );\r\n      let columns = this.getDataSourceSettingsProp(\r\n        this.fieldlistObj,\r\n        \"columns\"\r\n      );\r\n      let rows = this.getDataSourceSettingsProp(this.fieldlistObj, \"rows\");\r\n      let filters = this.getDataSourceSettingsProp(\r\n        this.fieldlistObj,\r\n        \"filters\"\r\n      );\r\n      let filterSettings = this.getDataSourceSettingsProp(\r\n        this.fieldlistObj,\r\n        \"filterSettings\"\r\n      );\r\n      let values = this.getDataSourceSettingsProp(this.fieldlistObj, \"values\");\r\n      let sortSettings = this.getDataSourceSettingsProp(\r\n        this.fieldlistObj,\r\n        \"sortSettings\"\r\n      );\r\n      let calculatedFieldSettings = this.getDataSourceSettingsProp(\r\n        this.fieldlistObj,\r\n        \"calculatedFieldSettings\"\r\n      );\r\n      if (groupSettings.length === 0) {\r\n        for (let column of columns) {\r\n          this.config.columnGroup.push({\r\n            name: column.name,\r\n            caption: this.getCaptionByName(column.name) || column.caption,\r\n          });\r\n        }\r\n      } else {\r\n        //If there is a group, first filter the columns of the group field, and then only save the last one\r\n        for (let column of columns) {\r\n          if (!startsWith(column.name, groupSettings[0].name + \"_\")) {\r\n            this.config.columnGroup.push({\r\n              name: column.name,\r\n              caption:\r\n                column.name === groupSettings[0].name\r\n                  ? \"\"\r\n                  : this.getCaptionByName(column.name) || column.caption,\r\n            });\r\n          }\r\n        }\r\n      }\r\n      for (let row of rows) {\r\n        this.config.xaxis.groups.push({\r\n          name: row.name,\r\n          caption: this.getCaptionByName(row.name) || row.caption,\r\n        });\r\n      }\r\n      for (let filter of filters) {\r\n        this.config.filters.push({\r\n          name: filter.name,\r\n          caption: this.getCaptionByName(filter.name) || filter.caption,\r\n        });\r\n      }\r\n      if (this.filterSettings && this.filterSettings.length > 0) {\r\n        args.dataSourceSettings.filterSettings = this.filterSettings;\r\n        this.config.filterSettings = this.filterSettings;\r\n        delete this.filterSettings;\r\n      } else {\r\n        this.config.filterSettings = filterSettings;\r\n      }\r\n      for (let value of values) {\r\n        let seriesData;\r\n        let tempShowObj;\r\n        let filterTempshowArray = [];\r\n        if (tempshowArray.length) {\r\n          filterTempshowArray = tempshowArray.filter(\r\n            (item) => item.name === value.name && item.calMethod === value.type\r\n          );\r\n          if (filterTempshowArray.length) {\r\n            tempShowObj = filterTempshowArray[0];\r\n            if (\r\n              tempShowObj.hasOwnProperty(\"showSubTotals\") &&\r\n              tempShowObj.hasOwnProperty(\"showGrandTotals\")\r\n            ) {\r\n              seriesData = {\r\n                colName: value.name,\r\n                calMethod: value.type,\r\n                title: value.caption,\r\n                showSubTotals: tempShowObj.showSubTotals,\r\n                showGrandTotals: tempShowObj.showGrandTotals,\r\n              };\r\n            } else {\r\n              if (tempShowObj.hasOwnProperty(\"showGrandTotals\")) {\r\n                seriesData = {\r\n                  colName: value.name,\r\n                  calMethod: value.type,\r\n                  title: value.caption,\r\n                  showGrandTotals: tempShowObj.showGrandTotals,\r\n                };\r\n              }\r\n              if (tempShowObj.hasOwnProperty(\"showSubTotals\")) {\r\n                seriesData = {\r\n                  colName: value.name,\r\n                  calMethod: value.type,\r\n                  title: value.caption,\r\n                  showSubTotals: tempShowObj.showSubTotals,\r\n                };\r\n              }\r\n            }\r\n          }\r\n        }\r\n        if (!seriesData) {\r\n          seriesData = {\r\n            colName: value.name,\r\n            title: value.caption,\r\n            calMethod: value.type,\r\n          };\r\n        }\r\n        this.config.yaxis.series.push(seriesData);\r\n      }\r\n      for (let calculate of calculatedFieldSettings) {\r\n        const calculateData = {\r\n          name: calculate.name,\r\n          formula: calculate.formula,\r\n          formatString:\r\n            calculate.formatString === \"\" ? \"N2\" : calculate.formatString,\r\n        };\r\n        this.config.calculatedFieldSettings.push(calculateData);\r\n      }\r\n      this.config.customCalculatedFields = this.customCalculatedFields;\r\n      this.config.sortSettings = sortSettings;\r\n      this.config.groupSettings = groupSettings;\r\n      this.fieldlistObj.updateView(this.pivotObj);\r\n    }\r\n    this.portlet.config = JSON.stringify(this.config);\r\n    //remove the sort\r\n    if (this.pivotObj.dataSourceSettings.sortSettings.length > 0) {\r\n      this.previousSort = this.fieldlistObj.lastSortInfo;\r\n      (this.fieldlistObj as any).lastSortInfo = [];\r\n    }\r\n  }\r\n\r\n  public afterEnginePopulate(args: any) {\r\n    if (!Browser.isDevice && this.fieldlistObj && this.pivotObj) {\r\n      this.config.groupSettings = this.getDataSourceSettingsProp(\r\n        this.pivotObj,\r\n        \"groupSettings\"\r\n      );\r\n      this.portlet.config = JSON.stringify(this.config);\r\n      if (this.fieldlistObj) this.fieldlistObj.update(this.pivotObj);\r\n      this.pivotObj.grid.queryCellInfo = this.queryCell.bind(this);\r\n      // SMP2 29785\r\n      // this.pivotObj.grid.headerCellInfo = this.headerCell.bind(this);\r\n      // SMP2-3929 rollback\r\n      // if (!this.isApplyIRR)\r\n      // \tthis.getCalculationResultByDashboardDataTableId();\r\n    }\r\n    if (this.Pivot_Data && this.Pivot_Data.length) {\r\n      setTimeout(() => {\r\n        this.enginePopulated(args);\r\n      }, 1500);\r\n    }\r\n  }\r\n\r\n  private getDataSourceSettingsProp(obj, key) {\r\n    let prop = null;\r\n    if (obj && obj.dataSourceSettings) {\r\n      prop = obj.dataSourceSettings[key];\r\n      if (\r\n        Object.prototype.toString.call(prop) === \"[object Array]\" &&\r\n        prop.length > 0\r\n      ) {\r\n        prop = prop.map((item) => item.properties || item);\r\n      }\r\n    }\r\n    return prop;\r\n  }\r\n\r\n  public enginePopulating(args) {\r\n    this.grandTotals = {};\r\n    this.subTotals = {};\r\n    this.allDataValue = [];\r\n  }\r\n\r\n  public cellClick(args) {\r\n    if (args.currentCell.classList.contains(\"e-headercell\")) {\r\n      this.flag = true;\r\n    }\r\n    const fundId =\r\n      (args.currentCell && args.currentCell.getAttribute(\"data-fundid\")) ||\r\n      (args.cell && args.cell.getAttribute(\"data-fundid\"));\r\n    if (fundId) {\r\n      // 跳转至\r\n      this.rowClick(fundId);\r\n      return;\r\n    }\r\n\r\n    // 清除排序\r\n    if (\r\n      this.pivotObj.dataSourceSettings.valueSortSettings.sortOrder &&\r\n      this.pivotObj.dataSourceSettings.valueSortSettings.headerText &&\r\n      this.pivotObj.dataSourceSettings.valueSortSettings.sortOrder ===\r\n        \"Descending\" &&\r\n      args.data.valueSort &&\r\n      this.pivotObj.dataSourceSettings.valueSortSettings.headerText ===\r\n        args.data.valueSort.levelName\r\n    ) {\r\n      this.pivotObj.setProperties(\r\n        {\r\n          dataSourceSettings: {\r\n            valueSortSettings: {\r\n              sortOrder: \"Descending\",\r\n              headerText: \"\",\r\n            },\r\n          },\r\n        },\r\n        true\r\n      );\r\n      if (this.pivotObj) this.pivotObj.refreshData();\r\n      this.flag = false;\r\n      this.config.valueSortSettings = {};\r\n      this.portlet.config = JSON.stringify(this.config);\r\n    }\r\n    if (\r\n      args.currentCell.classList.contains(\"e-columnsheader\") &&\r\n      (this.pivotObj.dataSourceSettings.valueSortSettings as any).columnSortOrder ===\r\n        \"Ascending\"\r\n    ) {\r\n      this.pivotObj.setProperties(\r\n        {\r\n          dataSourceSettings: {\r\n            // Here we reset the sorting\r\n            valueSortSettings: {\r\n              columnSortOrder: \"None\" as any,\r\n              columnHeaderText: \"\",\r\n            } as any,\r\n          },\r\n        },\r\n        true\r\n      );\r\n      // Refreshing the data to reflect the changes on the UI.\r\n      this.pivotObj.refreshData();\r\n    }\r\n  }\r\n\r\n  private queryCell(args: any): void {\r\n    (this.pivotObj.renderModule as any).rowCellBoundEvent(args);\r\n    const fieldName = args.cell.getAttribute(\"fieldname\");\r\n    if (\r\n      fieldName &&\r\n      (fieldName.toLowerCase() === \"fundname\" ||\r\n        fieldName.toLowerCase() === \"companyname\" ||\r\n        fieldName.toLowerCase() === \"name\" ||\r\n        fieldName.toLowerCase() === \"entityname\" ||\r\n        fieldName.toLowerCase() === \"investmententity\") &&\r\n      this.config &&\r\n      this.config.redirectObject\r\n    ) {\r\n      const targetObj = this.Pivot_Data.find((item) => {\r\n        if (\r\n          (item.FundName && args.cell.innerText === item.FundName) ||\r\n          (item.Name && args.cell.innerText === item.Name) ||\r\n          (item.name && args.cell.innerText === item.name) ||\r\n          (item.entityName && args.cell.innerText === item.entityName) ||\r\n          (item.CompanyName && args.cell.innerText === item.CompanyName) ||\r\n          (item.InvestmentEntity &&\r\n            args.cell.innerText === item.InvestmentEntity) ||\r\n          (item.fundName && args.cell.innerText === item.fundName) ||\r\n          (item.companyName && args.cell.innerText === item.companyName) ||\r\n          (item.EntityName && args.cell.innerText === item.EntityName) ||\r\n          (item.investmentEntity &&\r\n            args.cell.innerText === item.investmentEntity)\r\n        ) {\r\n          return true;\r\n        }\r\n        return false;\r\n      });\r\n      if (fieldName === \"Name\") {\r\n        console.log(targetObj);\r\n      }\r\n      if (targetObj && (targetObj.FundId || targetObj.CompanyId)) {\r\n        args.cell.setAttribute(\r\n          \"data-fundid\",\r\n          targetObj.FundId || targetObj.CompanyId\r\n        ); //\r\n      }\r\n    }\r\n\r\n    let rowIndex = Number(args.cell.getAttribute(\"index\"));\r\n    // 新版本26.x中 aria-colindex 会比旧版本v20.x 多1\r\n    let colIndex = parseInt(args.cell.getAttribute(\"aria-colindex\")) - 1;\r\n    if (!this.pivotObj.dataSourceSettings.conditionalFormatSettings.length) {\r\n      if (args.data && args.data[0].formattedText === \"Grand Total\") {\r\n        args.cell.classList.add(\"grand-class\");\r\n      } else {\r\n        args.cell.classList.add(rowIndex % 2 ? \"odd-class\" : \"even-class\");\r\n      }\r\n    } else {\r\n      let measureArr =\r\n        this.pivotObj.dataSourceSettings.conditionalFormatSettings.map(\r\n          (obj) => {\r\n            return obj.measure;\r\n          }\r\n        );\r\n      if (\r\n        measureArr.includes(args.data[colIndex].actualText) &&\r\n        args.data[colIndex].style\r\n      ) {\r\n        args.cell.style.cssText += `background-color: ${args.data[colIndex].style.backgroundColor} !important`;\r\n      }\r\n      if (args.data && args.data[0].formattedText === \"Grand Total\")\r\n        args.cell.classList.add(\"e-customclass\");\r\n    }\r\n\r\n    if (args.data && args.data[0].formattedText === \"Grand Total\") {\r\n      args.cell.classList.add(\"grand-class\");\r\n    } else {\r\n      if (rowIndex % 2) {\r\n        args.cell.classList.add(\"odd-class\");\r\n      } else {\r\n        args.cell.classList.add(\"even-class\");\r\n      }\r\n    }\r\n\r\n    //get sorting data\r\n    if (this.flag) {\r\n      this.flag = false;\r\n      this.config.valueSortSettings =\r\n        this.pivotObj.dataSourceSettings.valueSortSettings[\"properties\"];\r\n      this.portlet.config = JSON.stringify(this.config);\r\n    }\r\n    //customize the header text\r\n    if (this.pivotObj.dataSourceSettings.rows.length === 0) {\r\n      if (\r\n        args.data &&\r\n        args.data[colIndex] &&\r\n        args.data[colIndex].axis === \"row\"\r\n      ) {\r\n        args.cell.querySelector(\".e-cellvalue\").innerText =\r\n          args.data[colIndex].formattedText;\r\n      }\r\n    }\r\n\r\n    // SMP2-2912 subtotal字体加粗\r\n    if (\r\n      this.pivotObj.dataSourceSettings.rows.length &&\r\n      args.data[colIndex] &&\r\n      args.data[0].level !== this.pivotObj.dataSourceSettings.rows.length - 1 &&\r\n      args.data[colIndex].rowHeaders !== \"\" &&\r\n      args.data[colIndex].axis == \"value\"\r\n    ) {\r\n      args.cell.classList.add(\"e-customclass\");\r\n    }\r\n  }\r\n\r\n  private headerCell(args: any): void {\r\n    // (this.pivotObj.renderModule as any).columnCellBoundEvent(args);\r\n    // if (this.pivotObj.dataSourceSettings.columns.length === 0) {\r\n    // \tlet node = args.node.querySelector(\r\n    // \t\t\".e-headercelldiv .e-headertext\"\r\n    // \t);\r\n    // \tif (node) node.innerText = args.cell.column.headerText;\r\n    // }\r\n    const textAlign = args.cell.column.textAlign;\r\n    args.cell.column.headerTextAlign = textAlign;\r\n    args.node.style.textAlign = textAlign === \"Right\" ? \"right\" : \"left\"; // Align right for numeric columns\r\n    if (textAlign === \"Right\") {\r\n      args.node.classList.add(\"header-align-right\");\r\n    }\r\n    // if (args.cell.column.headerText === \"\") {\r\n    // \tconst index = args.cell.column.index;\r\n    // \tconst rows = this.pivotObj.dataSourceSettings.rows;\r\n    // \targs.node.querySelector(\".e-headertext\").innerText =\r\n    // \t\trows[index].caption;\r\n    // }\r\n    // this.ref.markForCheck();\r\n  }\r\n\r\n  public dataBound(e) {\r\n    this.updateTemplate();\r\n\r\n    if (this.isInit) {\r\n      this.isInit = false;\r\n    }\r\n    this.grandTotals = {};\r\n    this.subTotals = {};\r\n    if (this.pivotObj.grid) {\r\n      this.pivotObj.grid.resizeStop = this.resizeStop.bind(this);\r\n    }\r\n    if (this.pivotObj) {\r\n      var index = [];\r\n      // Get the empty row headers here.\r\n      var emptyRowHeader: any = document.querySelectorAll(\r\n        'td[aria-label=\" column header \"]'\r\n      );\r\n      for (var ele of emptyRowHeader) {\r\n        if (ele) {\r\n          index.push(ele.getAttribute(\"index\"));\r\n          // Remove all the empty row headers here.\r\n          ele.closest(\"tr\").remove();\r\n        }\r\n      }\r\n      for (var i = 0; i < index.length; i++) {\r\n        // Get the empty values here.\r\n        var emptyValues = this.pivotObj.element.querySelectorAll(\r\n          `td[index=\"${index[i]}\"]`\r\n        );\r\n        if (emptyValues[0]) {\r\n          // Remove all the empty value rows here.\r\n          emptyValues[0].closest(\"tr\").remove();\r\n        }\r\n      }\r\n    }\r\n    if (\r\n      this.fieldlistObj &&\r\n      this.fieldlistObj.pivotButtonModule &&\r\n      this.fieldlistObj.pivotButtonModule.menuOption\r\n    ) {\r\n      (\r\n        this.fieldlistObj.pivotButtonModule.menuOption as any\r\n      ).stringAggregateTypes = [\"Count\", \"DistinctCount\", \"First\", \"Last\"];\r\n    }\r\n    if (\r\n      this.pivotObj.pivotButtonModule &&\r\n      this.pivotObj.pivotButtonModule.menuOption\r\n    ) {\r\n      (this.pivotObj.pivotButtonModule.menuOption as any).stringAggregateTypes =\r\n        [\"Count\", \"DistinctCount\", \"First\", \"Last\"];\r\n    }\r\n    let allSummaryType = ALL_AGGREGATE_TYPES as any;\r\n    this.pivotObj.getAllSummaryType = function () {\r\n      return allSummaryType;\r\n    };\r\n    if (this.fieldlistObj) {\r\n      this.fieldlistObj.aggregateTypes = allSummaryType;\r\n      this.fieldlistObj.getAllSummaryType = function () {\r\n        return allSummaryType;\r\n      };\r\n    }\r\n    this.setValueItemData();\r\n    if (this.isDownloadCache) {\r\n      this.pbf.dashboardReadyDownload.next(this.portlet.newId);\r\n    }\r\n\r\n    // 判断是否有滚动区域，并加上对应属性\r\n    const containers = document.querySelectorAll(\r\n      \".control-section .e-pivotview .e-gridcontent .e-content\"\r\n    );\r\n    containers.forEach((container) => {\r\n      this.setScrollbarCSSVariables(container);\r\n    });\r\n  }\r\n\r\n  // 设置CSS自定义属性\r\n  setScrollbarCSSVariables(element) {\r\n    const hasVertical = element.scrollHeight > element.clientHeight;\r\n    const hasHorizontal = element.scrollWidth > element.clientWidth;\r\n    if (\r\n      element &&\r\n      element.parentElement &&\r\n      element.parentElement.parentElement\r\n    ) {\r\n      element.parentElement.parentElement.style.setProperty(\r\n        \"--has-vertical-scroll\",\r\n        hasVertical ? \"1\" : \"0\"\r\n      );\r\n      element.parentElement.parentElement.style.setProperty(\r\n        \"--has-horizontal-scroll\",\r\n        hasHorizontal ? \"1\" : \"0\"\r\n      );\r\n    }\r\n  }\r\n\r\n  private setValueItemData() {\r\n    setTimeout(() => {\r\n      const fieldDom = this.fieldlistObj.fieldListSpinnerElement;\r\n      this.dataSourceSettings.values.forEach((value: any) => {\r\n        const name = value.name.split(\"_\").join(\"\");\r\n        if (!name) return;\r\n        const valuesDom = fieldDom.querySelector(\r\n          `.e-values .${CSS.escape(name)} .e-pvt-btn-content`\r\n        );\r\n        if (!valuesDom) return;\r\n        const type = value.type.replace(\r\n          /([a-z])([A-Z])|([A-Z])([A-Z][a-z])/g,\r\n          \"$1$3 $2$4\"\r\n        );\r\n        if (valuesDom.innerHTML !== `${type} of ${value.caption}`) {\r\n          valuesDom.innerHTML = `${type} of ${value.caption}`;\r\n          valuesDom.setAttribute(\"title\", `${type} of ${value.caption}`);\r\n        }\r\n      });\r\n    });\r\n  }\r\n\r\n  private calculatedCellSets(args, curFields) {\r\n    let matchFields = curFields[\"matchFields\"];\r\n    let formula = curFields[\"formula\"];\r\n    let value = 0;\r\n    let rows = this.pivotObj.dataSourceSettings.rows;\r\n    let invalidTypes = [\"string\", \"nvarchar\", \"date\", \"datetime\"];\r\n    let isInvalid = matchFields.some((f) =>\r\n      invalidTypes.includes(\r\n        this.configFields.filter((el) => el.colName === f.matchWord)[0][\r\n          \"dataType\"\r\n        ]\r\n      )\r\n    );\r\n    let currentrowCellType = args.rowCellType;\r\n    if (isInvalid) return \"-\";\r\n    if (args.rowCellType === \"subTotal\" || args.rowCellType === \"grandTotal\") {\r\n      let childHeaders = [];\r\n      let sum = 0;\r\n      let cloneCellSets = cloneDeep(args.cellSets);\r\n      let groupNameArrays = [];\r\n      for (let index = args.row.level; index < rows.length; index++) {\r\n        groupNameArrays.push(rows[index].name);\r\n      }\r\n      for (let i = 0; i < cloneCellSets.length; i++) {\r\n        let values = [];\r\n        let header = groupNameArrays\r\n          .map((name) => {\r\n            values.push(cloneCellSets[i][name]);\r\n            return cloneCellSets[i][name];\r\n          })\r\n          .join(\"-\");\r\n        if (!(childHeaders as any).includes(header)) {\r\n          childHeaders.push(header);\r\n          let filterObj: any = {};\r\n          groupNameArrays.map((name, i) => (filterObj[name] = values[i]));\r\n          args.cellSets = _filter(cloneCellSets, filterObj);\r\n          args.rowCellType = \"value\";\r\n          sum += this.calculatedValues(args, matchFields, formula);\r\n        }\r\n      }\r\n      args.rowCellType = currentrowCellType;\r\n\r\n      // 暂存当前SubTotal， 用于收缩时读取\r\n      let prefixHeader = this.getCalcHeader(args, formula);\r\n      this.updateTempSubtotals(prefixHeader, sum);\r\n      return sum;\r\n    } else if (args.rowCellType === \"value\") {\r\n      if (args.row.hasChild) {\r\n        // collapse 读取SubTotal\r\n        let header = this.getCalcHeader(args, formula);\r\n        let index = this.tempSubtotals.findIndex(\r\n          (item) => item.rowName === header\r\n        );\r\n        if (index > -1) {\r\n          value = this.tempSubtotals[index].rowValue;\r\n        }\r\n      } else {\r\n        // expand\r\n        value = this.calculatedValues(args, matchFields, formula);\r\n      }\r\n    }\r\n    return value;\r\n  }\r\n\r\n  actionFailure(args: PivotActionFailureEventArgs): void {\r\n    if (args.actionName == \"Drill down\" || args.actionName == \"Drill up\") {\r\n      // Triggers when the current UI action fails to achieve the desired result.\r\n    }\r\n  }\r\n\r\n  private getCalcHeader(args, formula?) {\r\n    let header = \"\";\r\n    let rows = this.pivotObj.dataSourceSettings.rows;\r\n    let groupNameArrays = [];\r\n    for (let index = 0; index < args.row.level; index++) {\r\n      groupNameArrays.push(rows[index].name);\r\n    }\r\n    header = groupNameArrays.length\r\n      ? groupNameArrays\r\n          .map((name) => {\r\n            return args.cellSets[0][name];\r\n          })\r\n          .join(\"-\") +\r\n        \"-\" +\r\n        args.row.actualText\r\n      : args.row.actualText;\r\n    if (formula) header += \"___\" + formula;\r\n    return header;\r\n  }\r\n\r\n  private updateTempSubtotals(rowName, rowValue) {\r\n    let index = this.tempSubtotals.findIndex(\r\n      (item) => item.rowName === rowName\r\n    );\r\n    let temp: any = {};\r\n    temp.rowName = rowName;\r\n    temp.rowValue = rowValue;\r\n    if (index > -1) {\r\n      this.tempSubtotals.splice(index, 1, temp);\r\n    } else {\r\n      this.tempSubtotals.push(temp);\r\n    }\r\n  }\r\n\r\n  private calculatedValues(args, matchFields, formula) {\r\n    if (matchFields.length) {\r\n      let calculedMatchFields = matchFields.map((f) => {\r\n        switch (f.matchMethod) {\r\n          case \"First\":\r\n          case \"Last\":\r\n            f.replaceValue = this.calculatedFistLast(\r\n              args,\r\n              f.matchMethod,\r\n              f.matchWord\r\n            );\r\n            break;\r\n          case \"Max\":\r\n            f.replaceValue = maxBy(args.cellSets, (o) =>\r\n              Number(o[f.matchWord])\r\n            )[f.matchWord];\r\n            break;\r\n          case \"Min\":\r\n            f.replaceValue = minBy(args.cellSets, (o) =>\r\n              Number(o[f.matchWord])\r\n            )[f.matchWord];\r\n            break;\r\n          case \"Sum\":\r\n            f.replaceValue = sumBy(args.cellSets, (o) =>\r\n              Number(o[f.matchWord])\r\n            );\r\n            // SMP2-4094 Unicorn - L3 Adjusted NAV value issues\r\n            f.replaceValue = f.replaceValue && f.replaceValue.toFixed(10);\r\n            break;\r\n          case \"Avg\":\r\n            f.replaceValue = meanBy(args.cellSets, (o) =>\r\n              Number(o[f.matchWord])\r\n            );\r\n            break;\r\n          default:\r\n            break;\r\n        }\r\n        return f;\r\n      });\r\n      let resultFormula = formula;\r\n      if (calculedMatchFields.length) {\r\n        for (let i = 0; i < calculedMatchFields.length; i++) {\r\n          resultFormula = resultFormula.replace(\r\n            calculedMatchFields[i].matchStr,\r\n            \"(\" + calculedMatchFields[i].replaceValue + \")\"\r\n          );\r\n        }\r\n      }\r\n      try {\r\n        let result = new Function(\r\n          \"return \" + resultFormula.replace(/[^-<>?:()\\d/*+.]/g, \"\")\r\n        )();\r\n        if (isNaN(result) || !isFinite(result)) {\r\n          return 0;\r\n        } else {\r\n          return result;\r\n        }\r\n      } catch (error) {\r\n        return NaN;\r\n      }\r\n    }\r\n    return 0;\r\n  }\r\n\r\n  totalFormatted = {};\r\n  public aggregateCellInfo(args) {\r\n    let asOfDate = this.pbf.time(this.dashboard.asOfDate);\r\n    // if calculated field\r\n    if (args.aggregateType == \"CalculatedField\") {\r\n      for (let i = 0; i < this.customCalculatedFields.length; i++) {\r\n        if (args.fieldName == this.customCalculatedFields[i].name) {\r\n          args.value = this.calculatedCellSets(\r\n            args,\r\n            this.customCalculatedFields[i]\r\n          );\r\n        }\r\n      }\r\n    }\r\n\r\n    if (\r\n      [\r\n        \"CalculateIRR\",\r\n        \"CalculateIRRBeforeCarried\",\r\n        \"CalculateIRRDueDate\",\r\n        \"CalculateIRRIRRDate\",\r\n        \"CalculateIRRMTD\",\r\n        \"CalculateIRRQTD\",\r\n        \"CalculateIRRYTD\",\r\n      ].includes(args.aggregateType)\r\n    ) {\r\n      // console.log(\"==========================\");\r\n      // console.log(\"args:\", args);\r\n      let valueField;\r\n      let dateField;\r\n      let startDate;\r\n      let endDate;\r\n      switch (args.aggregateType) {\r\n        case \"CalculateIRR\":\r\n          valueField = \"IRRAdjValue\";\r\n          dateField = \"IRRDate\";\r\n          break;\r\n        case \"CalculateIRRMTD\":\r\n          startDate = moment(asOfDate).startOf(\"month\").format(\"YYYY-MM-DD\");\r\n          endDate = moment(asOfDate).format(\"YYYY-MM-DD\");\r\n          valueField = \"IRRAdjValue\";\r\n          dateField = \"IRRDate\";\r\n          break;\r\n        case \"CalculateIRRQTD\":\r\n          startDate = moment(asOfDate).startOf(\"quarter\").format(\"YYYY-MM-DD\");\r\n          endDate = moment(asOfDate).format(\"YYYY-MM-DD\");\r\n          valueField = \"IRRAdjValue\";\r\n          dateField = \"IRRDate\";\r\n          break;\r\n        case \"CalculateIRRYTD\":\r\n          startDate = moment(asOfDate).startOf(\"year\").format(\"YYYY-MM-DD\");\r\n          endDate = moment(asOfDate).format(\"YYYY-MM-DD\");\r\n          valueField = \"IRRAdjValue\";\r\n          dateField = \"IRRDate\";\r\n          break;\r\n        case \"CalculateIRRIRRDate\":\r\n          valueField = \"IRRAdjValue\";\r\n          dateField = \"CalculateIRRDate\";\r\n          break;\r\n        case \"CalculateIRRDueDate\":\r\n          valueField = \"IRRAdjValue\";\r\n          dateField = \"CalculateIRRDueDate\";\r\n          break;\r\n        case \"CalculateIRRBeforeCarried\":\r\n          valueField = \"IRRAdjValueBeforeCarry\";\r\n          dateField = \"IRRDate\";\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n      let NAVAdj = 0;\r\n      let values = [];\r\n      let beforeStartNAVAdj = 0; // 存储上一个阶段的NAVAdj总和\r\n      let beforeStartValues = []; // 存储上一个阶段的累计集合 (只是为了打印，没有实际用途)\r\n      let field = this.configFields.filter(\r\n        (el) =>\r\n          el.colName ===\r\n          this.dashboardPorletsService.getAggregateType(args.aggregateType)\r\n      );\r\n      for (let i = 0; i < args.cellSets.length; i++) {\r\n        const data = {\r\n          amount: args.cellSets[i][\"IRRAmount\"],\r\n          date:\r\n            this.pbf.time(args.cellSets[i][dateField]) === \"Invalid date\"\r\n              ? asOfDate\r\n              : this.pbf.time(args.cellSets[i][dateField]),\r\n        };\r\n        // SMP2-16920\r\n        // If IRR Date > Dashboard report date = Takes as of dashboard report date\r\n        if (\r\n          (args.aggregateType === \"CalculateIRRIRRDate\" ||\r\n            args.aggregateType === \"CalculateIRRDueDate\") &&\r\n          asOfDate < this.pbf.time(args.cellSets[i][dateField])\r\n        ) {\r\n          data.date = asOfDate;\r\n        }\r\n        NAVAdj += args.cellSets[i][valueField];\r\n        // SMP2-17219 MTD QTD YTD IRR\r\n        if (startDate && endDate) {\r\n          if (moment(data.date).isBefore(startDate)) {\r\n            data[valueField] = args.cellSets[i][valueField];\r\n            beforeStartValues.push(data);\r\n            beforeStartNAVAdj += data[valueField];\r\n          }\r\n          if (!moment(data.date).isBetween(startDate, endDate, null, \"[]\")) {\r\n            continue;\r\n          }\r\n        }\r\n        if (data.amount != 0) {\r\n          values.push(data);\r\n        }\r\n      }\r\n      // console.log(\"NAVAdj:\", NAVAdj);\r\n      if (NAVAdj > 0.0001 || NAVAdj < -0.0001) {\r\n        values.push({\r\n          amount: NAVAdj,\r\n          date: asOfDate,\r\n        });\r\n      }\r\n      let sortResult = sortBy(args.cellSets, \"IRRDate\");\r\n      values = sortBy(values, \"date\");\r\n      // 如果是MTD,QTD,YTD 则需要把当前阶段以前的所有数据进行汇总，加入计算\r\n      if (startDate && endDate) {\r\n        values.unshift({\r\n          amount: -beforeStartNAVAdj, // 开始的数据需要取反\r\n          date: this.pbf.time(startDate),\r\n        });\r\n      }\r\n      // console.log(\"beforeStartValues:\", beforeStartValues);\r\n      // console.log(\"values:\", values);\r\n      if (values.length > 0) {\r\n        // 处理特殊case, 只有累计为0, 且累计数据都为负数时，直接irr返回-1\r\n        let _IRR = this.getNegativeIrr(values, NAVAdj);\r\n        if (NAVAdj === 0 && typeof _IRR == \"number\") {\r\n          args.value = _IRR;\r\n        } else {\r\n          let xirr = this.excelCalculateXirr(values, {\r\n            NAVAdj,\r\n            IRRDate: sortResult[sortResult.length - 1].IRRDate,\r\n          });\r\n          args.value = xirr;\r\n        }\r\n      } else {\r\n        args.value = \"\";\r\n      }\r\n      // console.log(\"args.value:\", args.value);\r\n      if (\r\n        this.pivotObj.engineModule &&\r\n        this.pivotObj.engineModule.formatFields[args.fieldName]\r\n      ) {\r\n        delete this.pivotObj.engineModule.formatFields[args.fieldName];\r\n        this.pivotObj.engineModule.formatFields[args.fieldName] = {\r\n          name: args.fieldName,\r\n          format:\r\n            field.length > 0\r\n              ? field[0].format &&\r\n                field[0].format.length &&\r\n                field[0].format[0].formatChecked\r\n                ? this.dashboardPorletsService.pivotTableformatPercent(\r\n                    field[0].format[0].selectedFormat\r\n                  )\r\n                : this.dashboardPorletsService.formatPercent(field[0].dp)\r\n              : \"P2\",\r\n        };\r\n      }\r\n    }\r\n\r\n    //  SMP2-16520 TWR 月/季/年 && SMP2-16683 VAR\r\n    if (\r\n      [\r\n        \"CalculateTWRMTD\",\r\n        \"CalculateTWRQTD\",\r\n        \"CalculateTWRYTD\",\r\n        \"CalculateVARMTD_99\",\r\n        \"CalculateVARQTD_99\",\r\n        \"CalculateVARYTD_99\",\r\n        \"CalculateVARMTD_95\",\r\n        \"CalculateVARQTD_95\",\r\n        \"CalculateVARYTD_95\",\r\n      ].includes(args.aggregateType)\r\n    ) {\r\n      // console.log(\"==========================\");\r\n      // console.log(\"args:\", args);\r\n      let valueField = \"IRRAdjValue\";\r\n      let dateField = \"IRRDate\";\r\n      let timeRange;\r\n      switch (args.aggregateType) {\r\n        case \"CalculateTWRMTD\":\r\n        case \"CalculateVARMTD_99\":\r\n        case \"CalculateVARMTD_95\":\r\n          timeRange = \"month\";\r\n          break;\r\n        case \"CalculateTWRQTD\":\r\n        case \"CalculateVARQTD_99\":\r\n        case \"CalculateVARQTD_95\":\r\n          timeRange = \"quarter\";\r\n          break;\r\n        case \"CalculateTWRYTD\":\r\n        case \"CalculateVARYTD_99\":\r\n        case \"CalculateVARYTD_95\":\r\n          timeRange = \"year\";\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n      let values = []; // 这个阶段的累计集合\r\n      let field = this.configFields.filter(\r\n        (el) =>\r\n          el.colName ===\r\n          this.dashboardPorletsService.getAggregateType(args.aggregateType)\r\n      );\r\n      for (let i = 0; i < args.cellSets.length; i++) {\r\n        const data = {\r\n          [valueField]: args.cellSets[i][valueField],\r\n          date:\r\n            this.pbf.time(args.cellSets[i][dateField]) === \"Invalid date\"\r\n              ? asOfDate\r\n              : this.pbf.time(args.cellSets[i][dateField]),\r\n        };\r\n        values.push(data);\r\n      }\r\n\r\n      // 如果asOfDate不是 本月/季度/年 的最后一天，都是截至 上个月/季度/年 的最后一天的数据去计算\r\n      let _asOfDate = moment(asOfDate);\r\n      // console.log(\"_asOfDate:\", _asOfDate);\r\n      let isEndOfPeriod = (unit) => {\r\n        return (\r\n          _asOfDate.format(\"YYYY-MM-DD\") ===\r\n          _asOfDate.endOf(unit).format(\"YYYY-MM-DD\")\r\n        );\r\n      };\r\n      let endDate = isEndOfPeriod(timeRange)\r\n        ? moment(asOfDate).format(\"YYYY-MM-DD\")\r\n        : moment(asOfDate)\r\n            .subtract(1, timeRange)\r\n            .endOf(timeRange)\r\n            .format(\"YYYY-MM-DD\");\r\n\r\n      // console.log(\"endDate:\", endDate);\r\n      values = values.filter((item) =>\r\n        moment(item.date).isSameOrBefore(endDate)\r\n      );\r\n      values = sortBy(values, \"date\");\r\n      // console.log(\"values:\", values);\r\n\r\n      if (values.length > 0) {\r\n        let result = this.getTimeRanges(values, endDate, timeRange, \"date\"); // 各个阶段的数据\r\n        let resultTotal = {}; // 各个阶段总和\r\n        for (const prop in result) {\r\n          resultTotal[prop] = result[prop].reduce((acc, cur) => {\r\n            return acc + (cur[valueField] || 0);\r\n          }, 0);\r\n        }\r\n        // console.log(\"result:\", result);\r\n        // console.log(\"resultTotal:\", resultTotal);\r\n\r\n        const cumulativeSum = {}; // 各个阶段累计和\r\n        let sum = 0;\r\n        for (const key of Object.keys(resultTotal)) {\r\n          sum += resultTotal[key];\r\n          cumulativeSum[`${key}`] = sum;\r\n        }\r\n        // console.log(\"cumulativeSum:\", cumulativeSum);\r\n\r\n        const keys = Object.keys(cumulativeSum);\r\n        let twrList = [];\r\n        // 遍历每两个阶段 计算TWR\r\n        for (let i = 0; i < keys.length - 1; i++) {\r\n          const key1 = keys[i];\r\n          const key2 = keys[i + 1];\r\n\r\n          // 计算两个阶段之间的递增量, 出数不能为0\r\n          if (cumulativeSum[key1] != 0) {\r\n            const increment = cumulativeSum[key2] - cumulativeSum[key1];\r\n            let twr = increment / cumulativeSum[key1];\r\n            twrList.push({\r\n              date: key2,\r\n              twr: twr,\r\n            });\r\n          }\r\n        }\r\n        // 计算Average TWR\r\n        // console.log(\"twrList:\", twrList);\r\n        let averageTWR = this.calculateGrowthRate(twrList.map((x) => x.twr));\r\n        // console.log(\"计算Average TWR:\", averageTWR);\r\n        if (\r\n          [\"CalculateTWRMTD\", \"CalculateTWRQTD\", \"CalculateTWRYTD\"].includes(\r\n            args.aggregateType\r\n          )\r\n        ) {\r\n          // SMP2-16520 TWR 月/季/年\r\n          args.value =\r\n            isNaN(averageTWR) || averageTWR == null ? \"\" : Number(averageTWR);\r\n        } else {\r\n          if (isNaN(averageTWR) || averageTWR == null) {\r\n            args.value = \"\";\r\n          } else {\r\n            // SMP2-16683 VAR 区分99%和95%\r\n            let ZScore = [\r\n              \"CalculateVARMTD_99\",\r\n              \"CalculateVARQTD_99\",\r\n              \"CalculateVARYTD_99\",\r\n            ].includes(args.aggregateType)\r\n              ? 2.33\r\n              : 1.65;\r\n            if (twrList.length < 2) {\r\n              args.value = \"\";\r\n            } else {\r\n              let SD = this.calculateStandardDeviation(\r\n                twrList.map((x) => x.twr)\r\n              );\r\n              // console.log(\"calculateStandardDeviation:\", SD);\r\n              let VAR = averageTWR - SD * ZScore;\r\n              args.value = Number(VAR);\r\n            }\r\n          }\r\n        }\r\n        // console.log(\"args.value:\", args.value);\r\n      }\r\n\r\n      if (\r\n        this.pivotObj.engineModule &&\r\n        this.pivotObj.engineModule.formatFields[args.fieldName]\r\n      ) {\r\n        delete this.pivotObj.engineModule.formatFields[args.fieldName];\r\n        this.pivotObj.engineModule.formatFields[args.fieldName] = {\r\n          name: args.fieldName,\r\n          format:\r\n            field.length > 0\r\n              ? field[0].format &&\r\n                field[0].format.length &&\r\n                field[0].format[0].formatChecked\r\n                ? this.dashboardPorletsService.pivotTableformatPercent(\r\n                    field[0].format[0].selectedFormat\r\n                  )\r\n                : this.dashboardPorletsService.formatPercent(field[0].dp)\r\n              : \"P2\",\r\n        };\r\n      }\r\n    }\r\n\r\n    //SMP2-2701\r\n    if (args.aggregateType === \"CalculateIRRActualAudited\") {\r\n      let NAVAdj = 0;\r\n      let values = [];\r\n      let field = this.configFields.filter(\r\n        (el) =>\r\n          el.colName ===\r\n          this.dashboardPorletsService.getAggregateType(args.aggregateType)\r\n      );\r\n      //SMP2-2713 only judge for this dataMart(GrossNet)\r\n      if (\r\n        this.portlet.figureCode === \"GrossNet\" ||\r\n        this.portlet.figureCode === \"CombinedInvestmentFundNCompanyCashflow\"\r\n      ) {\r\n        for (let i = 0; i < args.cellSets.length; i++) {\r\n          const data = {\r\n            amount: args.cellSets[i][\"IRRAmount\"],\r\n            date:\r\n              this.pbf.time(args.cellSets[i][\"IRRDate\"]) === \"Invalid date\"\r\n                ? asOfDate\r\n                : this.pbf.time(args.cellSets[i][\"IRRDate\"]),\r\n          };\r\n          NAVAdj += args.cellSets[i][\"ActualAuditedNAV\"];\r\n          if (data.amount != 0) {\r\n            values.push(data);\r\n          }\r\n        }\r\n      }\r\n      //filter the data by the DataType(Actual Reported Audited)\r\n      else {\r\n        let argsdata = args.cellSets.filter(\r\n          (el) => el.DataType === \"ACTUAL_AUDITED\" || el.DataType === \"REPORTED\"\r\n        );\r\n        for (let i = 0; i < argsdata.length; i++) {\r\n          const data = {\r\n            amount: argsdata[i][\"IRRAmount\"],\r\n            date:\r\n              this.pbf.time(argsdata[i][\"IRRDate\"]) === \"Invalid date\"\r\n                ? asOfDate\r\n                : this.pbf.time(argsdata[i][\"IRRDate\"]),\r\n          };\r\n          NAVAdj += argsdata[i][\"IRRAdjValue\"];\r\n          if (data.amount != 0) {\r\n            values.push(data);\r\n          }\r\n        }\r\n      }\r\n      if (NAVAdj > 0.0001 || NAVAdj < -0.0001) {\r\n        values.push({\r\n          amount: NAVAdj,\r\n          date: asOfDate,\r\n        });\r\n      }\r\n      let sortResult = sortBy(args.cellSets, \"IRRDate\");\r\n      values = sortBy(values, \"date\");\r\n      if (values.length > 0) {\r\n        let _IRR = this.getNegativeIrr(values, NAVAdj);\r\n        if (NAVAdj === 0 && typeof _IRR == \"number\") {\r\n          args.value = _IRR;\r\n        } else {\r\n          let xirr = this.excelCalculateXirr(values, {\r\n            NAVAdj,\r\n            IRRDate: sortResult[sortResult.length - 1].IRRDate,\r\n          });\r\n          args.value = xirr;\r\n        }\r\n      } else {\r\n        args.value = 0;\r\n      }\r\n      if (\r\n        this.pivotObj.engineModule &&\r\n        this.pivotObj.engineModule.formatFields[args.fieldName]\r\n      ) {\r\n        delete this.pivotObj.engineModule.formatFields[args.fieldName];\r\n        this.pivotObj.engineModule.formatFields[args.fieldName] = {\r\n          name: args.fieldName,\r\n          format:\r\n            field.length > 0\r\n              ? field[0].format &&\r\n                field[0].format.length &&\r\n                field[0].format[0].formatChecked\r\n                ? this.dashboardPorletsService.pivotTableformatPercent(\r\n                    field[0].format[0].selectedFormat\r\n                  )\r\n                : this.dashboardPorletsService.formatPercent(field[0].dp)\r\n              : \"P2\",\r\n        };\r\n      }\r\n    }\r\n    //SMP2-3411\r\n    if (args.aggregateType === \"CalculateIRRReported\") {\r\n      let NAVAdj = 0;\r\n      let values = [];\r\n      let field = this.configFields.filter(\r\n        (el) =>\r\n          el.colName ===\r\n          this.dashboardPorletsService.getAggregateType(args.aggregateType)\r\n      );\r\n      if (\r\n        this.portlet.figureCode === \"GrossNet\" ||\r\n        this.portlet.figureCode === \"CombinedInvestmentFundNCompanyCashflow\"\r\n      ) {\r\n        for (let i = 0; i < args.cellSets.length; i++) {\r\n          const data = {\r\n            amount: args.cellSets[i][\"IRRAmount\"],\r\n            date:\r\n              this.pbf.time(args.cellSets[i][\"IRRDate\"]) === \"Invalid date\"\r\n                ? asOfDate\r\n                : this.pbf.time(args.cellSets[i][\"IRRDate\"]),\r\n          };\r\n          NAVAdj += args.cellSets[i][\"ReportedNAV\"];\r\n          if (data.amount != 0) {\r\n            values.push(data);\r\n          }\r\n        }\r\n      } else {\r\n        for (let i = 0; i < args.cellSets.length; i++) {\r\n          const data = {\r\n            amount: args.cellSets[i][\"IRRAmount\"],\r\n            date:\r\n              this.pbf.time(args.cellSets[i][\"IRRDate\"]) === \"Invalid date\"\r\n                ? asOfDate\r\n                : this.pbf.time(args.cellSets[i][\"IRRDate\"]),\r\n          };\r\n          NAVAdj += args.cellSets[i][\"IRRAdjValue\"];\r\n          if (data.amount != 0) {\r\n            values.push(data);\r\n          }\r\n        }\r\n      }\r\n      if (NAVAdj > 0.0001 || NAVAdj < -0.0001) {\r\n        values.push({\r\n          amount: NAVAdj,\r\n          date: asOfDate,\r\n        });\r\n      }\r\n      let sortResult = sortBy(args.cellSets, \"IRRDate\");\r\n      values = sortBy(values, \"date\");\r\n      if (values.length > 0) {\r\n        let _IRR = this.getNegativeIrr(values, NAVAdj);\r\n        if (NAVAdj === 0 && typeof _IRR == \"number\") {\r\n          args.value = _IRR;\r\n        } else {\r\n          let xirr = this.excelCalculateXirr(values, {\r\n            NAVAdj,\r\n            IRRDate: sortResult[sortResult.length - 1].IRRDate,\r\n          });\r\n          args.value = xirr;\r\n        }\r\n      } else {\r\n        args.value = 0;\r\n      }\r\n      if (\r\n        this.pivotObj.engineModule &&\r\n        this.pivotObj.engineModule.formatFields[args.fieldName]\r\n      ) {\r\n        delete this.pivotObj.engineModule.formatFields[args.fieldName];\r\n        this.pivotObj.engineModule.formatFields[args.fieldName] = {\r\n          name: args.fieldName,\r\n          format:\r\n            field.length > 0\r\n              ? field[0].format &&\r\n                field[0].format.length &&\r\n                field[0].format[0].formatChecked\r\n                ? this.dashboardPorletsService.pivotTableformatPercent(\r\n                    field[0].format[0].selectedFormat\r\n                  )\r\n                : this.dashboardPorletsService.formatPercent(field[0].dp)\r\n              : \"P2\",\r\n        };\r\n      }\r\n    }\r\n    if (\r\n      args.aggregateType === \"CalculateMultiple\" ||\r\n      args.aggregateType === \"CalculatePIC\" ||\r\n      args.aggregateType === \"CalculateDPI\" ||\r\n      args.aggregateType === \"CalculateTVPI\" ||\r\n      args.aggregateType === \"CalculateRVPI\" ||\r\n      args.aggregateType === \"CalculateMActualAudited\" ||\r\n      args.aggregateType === \"CalculateMReported\"\r\n    ) {\r\n      let totalNumerator = 0;\r\n      let totalDenominator = 0;\r\n      let numeratorName;\r\n      let denominatorName;\r\n      let field = this.configFields.filter(\r\n        (el) =>\r\n          el.colName ===\r\n          this.dashboardPorletsService.getAggregateType(args.aggregateType)\r\n      );\r\n      if (field.length > 0) {\r\n        const formulaArray = field[0].formula.split(\"/\");\r\n        numeratorName = formulaArray[0];\r\n        denominatorName = formulaArray[1];\r\n      }\r\n      for (let j = 0; j < args.cellSets.length; j++) {\r\n        totalNumerator += args.cellSets[j][numeratorName];\r\n        totalDenominator += args.cellSets[j][denominatorName];\r\n      }\r\n      if (totalDenominator !== 0) {\r\n        args.value = totalNumerator / totalDenominator;\r\n        if (\r\n          this.pivotObj.engineModule &&\r\n          this.pivotObj.engineModule.formatFields[args.fieldName]\r\n        ) {\r\n          delete this.pivotObj.engineModule.formatFields[args.fieldName];\r\n          this.pivotObj.engineModule.formatFields[args.fieldName] = {\r\n            name: args.fieldName,\r\n            format:\r\n              field.length > 0\r\n                ? field[0].format &&\r\n                  field[0].format.length &&\r\n                  field[0].format[0].formatChecked\r\n                  ? this.dashboardPorletsService.pivotTableformatMultiple(\r\n                      field[0].format[0].selectedFormat\r\n                    )\r\n                  : this.dashboardPorletsService.formatMultiple(field[0].dp)\r\n                : \"###0.00'x'\",\r\n          };\r\n        }\r\n      } else {\r\n        args.value = \"\";\r\n      }\r\n    }\r\n\r\n    if (args.aggregateType === \"First\" || args.aggregateType === \"Last\") {\r\n      args.value = this.calculatedFistLast(\r\n        args,\r\n        args.aggregateType,\r\n        args.fieldName\r\n      );\r\n    }\r\n\r\n    if (\r\n      args.aggregateType === \"Count\" ||\r\n      args.aggregateType === \"DistinctCount\"\r\n    ) {\r\n      if (args.value) {\r\n        args.value = args.value.toFixed(2);\r\n      }\r\n    }\r\n\r\n    if (\r\n      !args.value &&\r\n      args.value !== 0 &&\r\n      args.value !== false &&\r\n      args.value !== \"false\"\r\n    ) {\r\n      args.skipFormatting = true;\r\n      args.value = \"\";\r\n    }\r\n    // 新建pivot table, 还没有设置row, 选了column之后grandtotal会有值\r\n    if (\r\n      args.rowCellType === \"grandTotal\" &&\r\n      !this.pivotObj.dataSourceSettings.rows.length\r\n    ) {\r\n      args.value = \"\";\r\n    }\r\n    //SMP2-2889\r\n    if (args.rowCellType === \"subTotal\" || args.row.isSum) {\r\n      const valueField_data = this.config.yaxis.series.filter(\r\n        (el) => el.colName === args.fieldName\r\n      );\r\n      if (valueField_data.length > 0) {\r\n        if (valueField_data[0].showSubTotals === false) {\r\n          args.value = \"\";\r\n          args.skipFormatting = true;\r\n        }\r\n      }\r\n    }\r\n    if (args.rowCellType === \"grandTotal\") {\r\n      const valueField_data = this.config.yaxis.series.filter(\r\n        (el) => el.colName === args.fieldName\r\n      );\r\n      if (valueField_data.length > 0) {\r\n        if (valueField_data[0].showGrandTotals === false) {\r\n          args.value = \"\";\r\n          args.skipFormatting = true;\r\n        }\r\n      }\r\n    }\r\n    // SMP2-3416 start\r\n    if (\r\n      this.zeroFormatData.hgList.includes(args.fieldName) &&\r\n      args.value === 0\r\n    ) {\r\n      args.value = \"-\";\r\n      args.skipFormatting = true;\r\n    }\r\n    if (\r\n      this.zeroFormatData.emptyList.includes(args.fieldName) &&\r\n      args.value === 0\r\n    ) {\r\n      args.value = \"\";\r\n      args.skipFormatting = true;\r\n    }\r\n    if (\r\n      this.millionFields.includes(args.fieldName) &&\r\n      !isNaN(Number(args.value)) &&\r\n      args.value !== 0 &&\r\n      args.value !== \"\" &&\r\n      args.value !== null\r\n    ) {\r\n      if (\r\n        args.columnCellType == \"grandTotal\" &&\r\n        args.rowCellType == \"grandTotal\"\r\n      ) {\r\n        if (!this.totalFormatted[args.fieldName]) {\r\n          this.totalFormatted[args.fieldName] = true;\r\n          args.value = args.value / 1000000;\r\n        }\r\n      } else {\r\n        args.value = args.value / 1000000;\r\n      }\r\n    }\r\n\r\n    // SMP2-2486 & percentNum的format问题\r\n    if (\r\n      this.percentNumFields.length &&\r\n      this.percentNumFields.includes(args.fieldName) &&\r\n      !isNaN(Number(args.value)) &&\r\n      args.value !== 0 &&\r\n      args.value !== \"\" &&\r\n      args.value !== null\r\n    ) {\r\n      if (\r\n        args.columnCellType == \"grandTotal\" &&\r\n        args.rowCellType == \"grandTotal\"\r\n      ) {\r\n        if (!this.totalFormatted[args.fieldName]) {\r\n          this.totalFormatted[args.fieldName] = true;\r\n          args.value = args.value / 100;\r\n        }\r\n      } else {\r\n        args.value = args.value / 100;\r\n      }\r\n    }\r\n    if (\r\n      args.aggregateType == \"CalculatedField\" &&\r\n      !isNaN(Number(args.value)) &&\r\n      !(\r\n        this.pivotObj.engineModule.formatFields &&\r\n        this.pivotObj.engineModule.formatFields[args.fieldName] &&\r\n        this.pivotObj.engineModule.formatFields[args.fieldName].format\r\n      )\r\n    ) {\r\n      args.value = Number(args.value).toFixed(2);\r\n    }\r\n    // SMP2-3416 end\r\n    this.ref.markForCheck();\r\n    this.ref.detectChanges();\r\n  }\r\n\r\n  excelCalculateXirr(values, lastObj) {\r\n    let xirr;\r\n    let guess = 0.1;\r\n    const sumAmount = values\r\n      .map((item) => item.amount)\r\n      .reduce((prev, curr) => prev + curr, 0);\r\n    if (sumAmount < 0) {\r\n      guess = -0.1;\r\n    }\r\n    //SMP2-2249 fixed the big irr issue\r\n    if (sumAmount === 0) {\r\n      xirr = 0;\r\n    } else {\r\n      const valueItems = values.slice(0, values.length - 1);\r\n      const valueList = valueItems.map((item) => item.amount);\r\n      const dateList = valueItems.map((item) => item.date);\r\n      const lastItem = values[values.length - 1];\r\n      const navAdjust = lastItem.amount;\r\n      const latestDate = lastItem.date;\r\n      let irr = this.dashboardPorletsService.ExcelFormulas._CalculateXirr(\r\n        valueList,\r\n        dateList,\r\n        navAdjust,\r\n        latestDate,\r\n        lastObj\r\n      );\r\n\r\n      xirr = irr === null ? \"\" : irr;\r\n    }\r\n    return xirr;\r\n  }\r\n\r\n  getNegativeIrr(values, NAVAdj) {\r\n    let valueList = values.map((item) => item.amount);\r\n    let positiveCashflow = valueList.some(function (v) {\r\n      return v > 0;\r\n    })\r\n      ? true\r\n      : NAVAdj > 0\r\n      ? true\r\n      : false;\r\n    let negativeCashflow = valueList.some(function (v) {\r\n      return v < 0;\r\n    })\r\n      ? true\r\n      : NAVAdj < 0\r\n      ? true\r\n      : false;\r\n\r\n    if (positiveCashflow == false && negativeCashflow == false) return 0;\r\n\r\n    if (positiveCashflow == false || negativeCashflow == false) {\r\n      if (NAVAdj === 0 && negativeCashflow) {\r\n        return -1;\r\n      } else {\r\n        return null;\r\n      }\r\n    }\r\n    return null;\r\n  }\r\n\r\n  private calculatedFistLast(args, aggregateType, fieldName) {\r\n    if (!args.row.actualText) args.row.actualText = args.row.formattedText;\r\n    if (!args.column.actualText)\r\n      args.column.actualText = args.column.formattedText;\r\n    let field = this.configFields.filter((el) => el.colName === fieldName)[0];\r\n    if (args.rowCellType === \"value\" && !args.row.hasChild) {\r\n      if (args.cellSets[0]) {\r\n        if (aggregateType === \"First\") {\r\n          for (\r\n            let firstIndex = 0;\r\n            firstIndex < args.cellSets.length;\r\n            firstIndex++\r\n          ) {\r\n            if (\r\n              this.pivotObj.dataSourceSettings.columns.length == 1 &&\r\n              args.columnCellType == \"grandTotal\"\r\n            ) {\r\n              if (\r\n                field.dataType == \"string\" ||\r\n                field.dataType == \"nvarchar\" ||\r\n                field.dataType == \"date\" ||\r\n                field.dataType == \"datetime\"\r\n              ) {\r\n                args.value = \"\";\r\n              } else {\r\n                if (this.allDataValue && this.allDataValue.length) {\r\n                  let rowObjs = this.allDataValue[args.row.rowIndex];\r\n                  if (rowObjs) {\r\n                    let rowObjsArr = JSON.parse(JSON.stringify(rowObjs));\r\n                    let obj = rowObjsArr.filter(\r\n                      (el) => el.actualText == fieldName && el.isGrandSum\r\n                    )[0];\r\n                    if (obj) args.value = obj.value;\r\n                  }\r\n                } else {\r\n                  args.value = isNaN(\r\n                    Number(\r\n                      this.grandTotals[\"row\" + args.row.actualText + fieldName]\r\n                    )\r\n                  )\r\n                    ? null\r\n                    : Number(\r\n                        this.grandTotals[\r\n                          \"row\" + args.row.actualText + fieldName\r\n                        ]\r\n                      );\r\n                }\r\n              }\r\n            } else {\r\n              if (args.cellSets.length > 1 && args.row.type !== \"sum\") {\r\n                args.value = args.cellSets[firstIndex][fieldName];\r\n              }\r\n              if (\r\n                args.row.type === \"sum\" &&\r\n                (field.dataType == \"string\" ||\r\n                  field.dataType == \"nvarchar\" ||\r\n                  field.dataType == \"date\" ||\r\n                  field.dataType == \"datetime\")\r\n              ) {\r\n                args.value = \"\";\r\n              }\r\n            }\r\n            if (\r\n              field.dataType == \"number\" ||\r\n              field.dataType == \"multiple\" ||\r\n              field.dataType == \"percent\" ||\r\n              field.dataType == \"percentNum\"\r\n            ) {\r\n              if (args.value != null) break;\r\n            } else if (\r\n              field.dataType == \"date\" ||\r\n              field.dataType == \"datetime\"\r\n            ) {\r\n              if (this.pbf.time(args.value) > \"1900-01-01\") break;\r\n            } else if (args.value) break;\r\n          }\r\n        }\r\n        if (aggregateType === \"Last\") {\r\n          for (\r\n            let lastIndex = args.cellSets.length - 1;\r\n            lastIndex >= 0;\r\n            lastIndex--\r\n          ) {\r\n            if (\r\n              this.pivotObj.dataSourceSettings.columns.length == 1 &&\r\n              args.columnCellType == \"grandTotal\"\r\n            ) {\r\n              if (\r\n                field.dataType == \"string\" ||\r\n                field.dataType == \"nvarchar\" ||\r\n                field.dataType == \"date\" ||\r\n                field.dataType == \"datetime\"\r\n              ) {\r\n                args.value = \"\";\r\n              } else {\r\n                if (this.allDataValue && this.allDataValue.length) {\r\n                  let rowObjs = this.allDataValue[args.row.rowIndex];\r\n                  if (rowObjs) {\r\n                    let rowObjsArr = JSON.parse(JSON.stringify(rowObjs));\r\n                    let obj = rowObjsArr.filter(\r\n                      (el) => el.actualText == fieldName && el.isGrandSum\r\n                    )[0];\r\n                    if (obj) args.value = obj.value;\r\n                  }\r\n                } else {\r\n                  args.value = isNaN(\r\n                    Number(\r\n                      this.grandTotals[\"row\" + args.row.actualText + fieldName]\r\n                    )\r\n                  )\r\n                    ? null\r\n                    : Number(\r\n                        this.grandTotals[\r\n                          \"row\" + args.row.actualText + fieldName\r\n                        ]\r\n                      );\r\n                }\r\n              }\r\n            } else {\r\n              if (args.cellSets.length > 0 && args.row.type !== \"sum\") {\r\n                args.value = args.cellSets[lastIndex][fieldName];\r\n              }\r\n              if (\r\n                args.row.type === \"sum\" &&\r\n                (field.dataType == \"string\" ||\r\n                  field.dataType == \"nvarchar\" ||\r\n                  field.dataType == \"date\" ||\r\n                  field.dataType == \"datetime\")\r\n              ) {\r\n                args.value = \"\";\r\n              }\r\n            }\r\n\r\n            if (\r\n              field.dataType == \"number\" ||\r\n              field.dataType == \"multiple\" ||\r\n              field.dataType == \"percent\" ||\r\n              field.dataType == \"percentNum\"\r\n            ) {\r\n              if (args.value != null) break;\r\n            } else if (\r\n              field.dataType == \"date\" ||\r\n              field.dataType == \"datetime\"\r\n            ) {\r\n              if (this.pbf.time(args.value) > \"1900-01-01\") break;\r\n            } else if (args.value) break;\r\n          }\r\n        }\r\n\r\n        if (\r\n          field.dataType == \"number\" ||\r\n          field.dataType == \"multiple\" ||\r\n          field.dataType == \"percent\" ||\r\n          field.dataType == \"percentNum\"\r\n        ) {\r\n          if (this.pivotObj.dataSourceSettings.rows.length) {\r\n            if (!this.pivotObj.dataSourceSettings.columns.length) {\r\n              if (\r\n                !Number(this.grandTotals[fieldName]) ||\r\n                isNaN(Number(this.grandTotals[fieldName]))\r\n              ) {\r\n                this.grandTotals[fieldName] = 0;\r\n              }\r\n              if (args.aggregateType !== \"CalculatedField\") {\r\n                this.grandTotals[fieldName] += Number(args.value);\r\n              }\r\n            } else if (this.pivotObj.dataSourceSettings.columns.length == 1) {\r\n              // \"row\" + args.row.actualText + fieldName 表示(cell: args.rowCellType === \"value\" && args.columnCellType === \"grandTotal\")\r\n              if (\r\n                !Number(\r\n                  this.grandTotals[\"row\" + args.row.actualText + fieldName]\r\n                ) ||\r\n                isNaN(\r\n                  Number(\r\n                    this.grandTotals[\"row\" + args.row.actualText + fieldName]\r\n                  )\r\n                )\r\n              ) {\r\n                this.grandTotals[\"row\" + args.row.actualText + fieldName] = 0;\r\n              }\r\n              this.grandTotals[\"row\" + args.row.actualText + fieldName] +=\r\n                Number(args.value);\r\n\r\n              // \"col\" + args.column.actualText + fieldName 表示(cell: args.rowCellType === \"grandTotal\" && args.columnCellType === \"value\")\r\n              if (\r\n                !Number(\r\n                  this.grandTotals[\"col\" + args.column.actualText + fieldName]\r\n                ) ||\r\n                isNaN(\r\n                  Number(\r\n                    this.grandTotals[\"col\" + args.column.actualText + fieldName]\r\n                  )\r\n                )\r\n              ) {\r\n                this.grandTotals[\r\n                  \"col\" + args.column.actualText + fieldName\r\n                ] = 0;\r\n              }\r\n              this.grandTotals[\"col\" + args.column.actualText + fieldName] +=\r\n                Number(args.value);\r\n            }\r\n          }\r\n        }\r\n      }\r\n    } else if (args.rowCellType === \"subTotal\" || args.row.hasChild) {\r\n      const dataType = field.dataType;\r\n      if (\r\n        dataType === \"string\" ||\r\n        dataType === \"nvarchar\" ||\r\n        dataType == \"date\" ||\r\n        dataType == \"datetime\"\r\n      ) {\r\n        args.value = \"\";\r\n      } else {\r\n        let value = 0;\r\n        let childHeaders = [];\r\n        if (aggregateType === \"First\") {\r\n          let groupNameArrays = [];\r\n          let rows = this.pivotObj.dataSourceSettings.rows;\r\n          for (let index = args.row.level; index < rows.length; index++) {\r\n            groupNameArrays.push(rows[index].name);\r\n          }\r\n          for (let i = 0; i < args.cellSets.length; i++) {\r\n            let values = [];\r\n            let header = groupNameArrays\r\n              .map((name) => {\r\n                values.push(args.cellSets[i][name]);\r\n                return args.cellSets[i][name];\r\n              })\r\n              .join(\"-\");\r\n            if (!(childHeaders as any).includes(header)) {\r\n              let filterObj: any = {};\r\n              groupNameArrays.map((name, x) => (filterObj[name] = values[x]));\r\n              let _CellSets = _filter(args.cellSets, filterObj);\r\n              childHeaders.push(header);\r\n              value += Number(_CellSets[0][fieldName]) || 0;\r\n            }\r\n          }\r\n        }\r\n        if (aggregateType === \"Last\") {\r\n          let groupNameArrays = [];\r\n          let rows = this.pivotObj.dataSourceSettings.rows;\r\n          for (let index = args.row.level; index < rows.length; index++) {\r\n            groupNameArrays.push(rows[index].name);\r\n          }\r\n          for (let i = args.cellSets.length - 1; i >= 0; i--) {\r\n            let values = [];\r\n            let header = groupNameArrays\r\n              .map((name) => {\r\n                values.push(args.cellSets[i][name]);\r\n                return args.cellSets[i][name];\r\n              })\r\n              .join(\"-\");\r\n            if (!(childHeaders as any).includes(header)) {\r\n              let filterObj: any = {};\r\n              groupNameArrays.map((name, x) => (filterObj[name] = values[x]));\r\n              let _CellSets = _filter(args.cellSets, filterObj);\r\n              childHeaders.push(header);\r\n              value += Number(_CellSets[_CellSets.length - 1][fieldName]) || 0;\r\n            }\r\n          }\r\n        }\r\n\r\n        if (args.column.actualText !== \"Grand Total\")\r\n          this.columnTexts.push(args.column.actualText);\r\n\r\n        if (!this.pivotObj.dataSourceSettings.columns.length) {\r\n          if (\r\n            !Number(this.subTotals[fieldName]) ||\r\n            isNaN(Number(this.subTotals[fieldName]))\r\n          ) {\r\n            this.subTotals[fieldName] = 0;\r\n          }\r\n          this.subTotals[fieldName] += Number(value);\r\n        } else if (this.pivotObj.dataSourceSettings.columns.length == 1) {\r\n          if (\r\n            !Number(\r\n              this.subTotals[\r\n                args.row.actualText + args.column.actualText + fieldName\r\n              ]\r\n            ) ||\r\n            isNaN(\r\n              Number(\r\n                this.subTotals[\r\n                  args.row.actualText + args.column.actualText + fieldName\r\n                ]\r\n              )\r\n            )\r\n          ) {\r\n            this.subTotals[\r\n              args.row.actualText + args.column.actualText + fieldName\r\n            ] = 0;\r\n          }\r\n          this.subTotals[\r\n            args.row.actualText + args.column.actualText + fieldName\r\n          ] += Number(value);\r\n        }\r\n        // ---> allDataValue中这个单元格的值不正确\r\n        if (\r\n          args.columnCellType === \"grandTotal\" &&\r\n          this.pivotObj.dataSourceSettings.columns.length == 1\r\n        ) {\r\n          if (this.allDataValue && this.allDataValue.length) {\r\n            args.value =\r\n              this.subTotals[args.row.actualText + \"Grand Total\" + fieldName];\r\n          } else {\r\n            this.columnTexts = uniqBy(this.columnTexts, (el) => el);\r\n            let val = 0;\r\n            for (let i = 0; i < this.columnTexts.length; i++) {\r\n              const element = this.columnTexts[i];\r\n              val += this.subTotals[args.row.actualText + element + fieldName];\r\n            }\r\n            args.value = val;\r\n          }\r\n        } else {\r\n          args.value = value;\r\n        }\r\n      }\r\n    } else if (args.rowCellType === \"grandTotal\") {\r\n      const dataType = field.dataType;\r\n      if (\r\n        dataType == \"string\" ||\r\n        dataType == \"nvarchar\" ||\r\n        dataType == \"date\" ||\r\n        dataType == \"datetime\"\r\n      ) {\r\n        args.value = \"\";\r\n      } else {\r\n        if (!this.pivotObj.dataSourceSettings.columns.length) {\r\n          if (this.allDataValue && this.allDataValue.length) {\r\n            let rowObjs = this.allDataValue[this.allDataValue.length - 1];\r\n            if (rowObjs) {\r\n              let rowObjsArr = JSON.parse(JSON.stringify(rowObjs));\r\n              let objArr = rowObjsArr.filter(\r\n                (el) => el.actualText == fieldName && el.isGrandSum\r\n              );\r\n              if (objArr && objArr.length) {\r\n                args.value = objArr[objArr.length - 1].value;\r\n              } else if (Object.keys(this.grandTotals).includes(fieldName)) {\r\n                args.value = this.grandTotals[fieldName];\r\n              }\r\n            }\r\n          } else {\r\n            args.value = this.grandTotals[fieldName];\r\n          }\r\n        } else {\r\n          if (args.columnCellType === \"grandTotal\") {\r\n            if (this.allDataValue && this.allDataValue.length) {\r\n              let rowObjs = this.allDataValue[this.allDataValue.length - 1];\r\n              if (rowObjs) {\r\n                let rowObjsArr = JSON.parse(JSON.stringify(rowObjs));\r\n                let objArr = rowObjsArr.filter(\r\n                  (el) => el.actualText == fieldName && el.isGrandSum\r\n                );\r\n                if (objArr && objArr.length) {\r\n                  args.value = objArr[objArr.length - 1].value;\r\n                } else if (\r\n                  Object.keys(this.grandTotals).includes(\r\n                    \"col\" + args.column.actualText + fieldName\r\n                  )\r\n                ) {\r\n                  args.value =\r\n                    this.grandTotals[\r\n                      \"col\" + args.column.actualText + fieldName\r\n                    ];\r\n                }\r\n              }\r\n            } else {\r\n              args.value =\r\n                this.grandTotals[\"col\" + args.column.actualText + fieldName];\r\n            }\r\n          } else {\r\n            if (this.allDataValue && this.allDataValue.length) {\r\n              let rowObjs = this.allDataValue[this.allDataValue.length - 1];\r\n              let rowObjsArr = JSON.parse(JSON.stringify(rowObjs));\r\n              let objArr = rowObjsArr.filter(\r\n                (el) =>\r\n                  el.actualText == fieldName &&\r\n                  el.isGrandSum &&\r\n                  el.columnHeaders == args.column.actualText\r\n              );\r\n              if (objArr && objArr.length) {\r\n                args.value = objArr[objArr.length - 1].value;\r\n              } else if (\r\n                Object.keys(this.grandTotals).includes(\r\n                  \"col\" + args.column.actualText + fieldName\r\n                )\r\n              ) {\r\n                args.value =\r\n                  this.grandTotals[\"col\" + args.column.actualText + fieldName];\r\n              }\r\n            } else {\r\n              args.value =\r\n                this.grandTotals[\"col\" + args.column.actualText + fieldName];\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n    this.formatVal(args, fieldName);\r\n    return args.value;\r\n  }\r\n\r\n  private formatVal(args, fieldName) {\r\n    this.configFields.forEach((field) => {\r\n      if (field.colName == fieldName) {\r\n        switch (field.dataType) {\r\n          case \"datetime\":\r\n            if (args.value) args.value = new Date(args.value);\r\n            break;\r\n          default:\r\n            break;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  private getexcludeFields(fields, data) {\r\n    let namearray = [];\r\n    let array = [];\r\n    for (let prop in data) {\r\n      array.push(prop);\r\n    }\r\n    for (let item of fields) {\r\n      namearray.push(item.colName);\r\n    }\r\n    this.excludeFields = differenceWith(array, namearray);\r\n    if (\r\n      this.excludeFields.length &&\r\n      this.config.groupSettings &&\r\n      this.config.groupSettings.length\r\n    ) {\r\n      for (let i = 0; i < this.excludeFields.length; i++) {\r\n        const el = this.excludeFields[i];\r\n        if (startsWith(el, this.config.groupSettings[0].name + \"_\")) {\r\n          this.excludeFields.splice(i, 1);\r\n          i--;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  private getInfo() {\r\n    this.datePipeFormat = localStorage.getItem(\"datePipe\");\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\"));\r\n  }\r\n\r\n  public onFieldDrop(args: FieldDropEventArgs) {\r\n    this.dataSourceSettings.values = [...args.dataSourceSettings.values];\r\n    //change the calcualteField method use the corresponding calculate\r\n    const calcualteField = this.configFields.filter(\r\n      (el) => el.colName === args.fieldName && el.isCalculatedField\r\n    );\r\n    if (calcualteField.length > 0) {\r\n      args.dropField.type = this.dashboardPorletsService.getCalculateMethod(\r\n        calcualteField[0].colName\r\n      ) as any;\r\n      // args.dropField.caption = args.dropField.caption\r\n      // \t.replace(\"Calculate\", \"\")\r\n      // \t.trim();\r\n    }\r\n    for (let i = 0; i < args.dataSourceSettings.filterSettings.length; i++) {\r\n      if (\r\n        args.dataSourceSettings.filterSettings[i].name === args.fieldName &&\r\n        args.dropAxis === \"\"\r\n      ) {\r\n        args.dataSourceSettings.filterSettings.splice(i, 1);\r\n        this.filterSettings = args.dataSourceSettings.filterSettings;\r\n        break;\r\n      }\r\n    }\r\n  }\r\n\r\n  // Calculated field事件：创建\r\n  public calculatedFieldCreate(args: CalculatedFieldCreateEventArgs) {\r\n    if (\r\n      args.calculatedField.name !== \"\" &&\r\n      args.calculatedField.name.trim() !== \"\"\r\n    ) {\r\n      let index =\r\n        this.fieldlistObj.dataSourceSettings.calculatedFieldSettings.findIndex(\r\n          (el) => el.name === args.calculatedField.name\r\n        );\r\n      if (index !== -1) {\r\n        if (args.calculatedField.formatString === \"\") {\r\n          this.fieldlistObj.dataSourceSettings.calculatedFieldSettings[\r\n            index\r\n          ].formatString = \"N2\";\r\n        } else {\r\n          this.fieldlistObj.dataSourceSettings.calculatedFieldSettings[\r\n            index\r\n          ].formatString = args.calculatedField.formatString;\r\n        }\r\n      } else {\r\n        if (args.calculatedField.formatString === \"\") {\r\n          args.calculatedField.formatString = \"N2\";\r\n        }\r\n      }\r\n      // 移除重复\r\n      let fIndex = this.customCalculatedFields.findIndex(\r\n        (f) => f.name === args.calculatedField.name\r\n      );\r\n      if (fIndex > -1) {\r\n        this.customCalculatedFields.splice(fIndex, 1);\r\n      }\r\n      // 匹配运算符 First || Last\r\n      let formulaStr = args.calculatedField.formula;\r\n      let reg1 = /\"First\\((.+?)\\)\"/g;\r\n      let reg2 = /\"Last\\((.+?)\\)\"/g;\r\n      if (reg1.test(formulaStr) || reg2.test(formulaStr)) {\r\n        // 判断是否存在First || Last 表达式\r\n        let matchFirstFields = Array.from(\r\n          formulaStr[\"matchAll\"](/\"First\\((.+?)\\)\"/g),\r\n          (m) => {\r\n            return {\r\n              matchStr: m[0],\r\n              matchWord: m[1],\r\n              replaceValue: \"\",\r\n              matchMethod: \"First\",\r\n            };\r\n          }\r\n        );\r\n        let matchLastFields = Array.from(\r\n          formulaStr[\"matchAll\"](/\"Last\\((.+?)\\)\"/g),\r\n          (m) => {\r\n            return {\r\n              matchStr: m[0],\r\n              matchWord: m[1],\r\n              replaceValue: \"\",\r\n              matchMethod: \"Last\",\r\n            };\r\n          }\r\n        );\r\n        let matchMaxFields = Array.from(\r\n          formulaStr[\"matchAll\"](/\"Max\\((.+?)\\)\"/g),\r\n          (m) => {\r\n            return {\r\n              matchStr: m[0],\r\n              matchWord: m[1],\r\n              replaceValue: \"\",\r\n              matchMethod: \"Max\",\r\n            };\r\n          }\r\n        );\r\n        let matchMinFields = Array.from(\r\n          formulaStr[\"matchAll\"](/\"Min\\((.+?)\\)\"/g),\r\n          (m) => {\r\n            return {\r\n              matchStr: m[0],\r\n              matchWord: m[1],\r\n              replaceValue: \"\",\r\n              matchMethod: \"Min\",\r\n            };\r\n          }\r\n        );\r\n        let matchSumFields = Array.from(\r\n          formulaStr[\"matchAll\"](/\"Sum\\((.+?)\\)\"/g),\r\n          (m) => {\r\n            return {\r\n              matchStr: m[0],\r\n              matchWord: m[1],\r\n              replaceValue: \"\",\r\n              matchMethod: \"Sum\",\r\n            };\r\n          }\r\n        );\r\n        let matchAvgFields = Array.from(\r\n          formulaStr[\"matchAll\"](/\"Avg\\((.+?)\\)\"/g),\r\n          (m) => {\r\n            return {\r\n              matchStr: m[0],\r\n              matchWord: m[1],\r\n              replaceValue: \"\",\r\n              matchMethod: \"Avg\",\r\n            };\r\n          }\r\n        );\r\n        if (\r\n          matchFirstFields.every((x) =>\r\n            this.allowedCalculatedFields.includes(x.matchWord)\r\n          ) &&\r\n          matchLastFields.every((x) =>\r\n            this.allowedCalculatedFields.includes(x.matchWord)\r\n          )\r\n        ) {\r\n          // 判断First和Last表达式内的字段是否合法\r\n          this.customCalculatedFields.push({\r\n            name: args.calculatedField.name,\r\n            formula: args.calculatedField.formula,\r\n            matchFields: [\r\n              // @ts-ignore\r\n              ...matchFirstFields,\r\n              ...matchLastFields,\r\n              ...matchMaxFields,\r\n              ...matchMinFields,\r\n              ...matchSumFields,\r\n              ...matchAvgFields,\r\n            ],\r\n            grandTotal: 0,\r\n          });\r\n          let fieldName = (\r\n            formulaStr.split(\"First(\")[1] || formulaStr.split(\"Last(\")[1]\r\n          ).split(\")\")[0];\r\n          args.calculatedField.formula =\r\n            \"'\\\"\" + \"Sum(\" + fieldName + ')\"=' + formulaStr + \"'\";\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  // Calculated field事件：完成\r\n  public actionComplete(args) {\r\n    if (\r\n      args.actionName === \"Field aggregated\" ||\r\n      args.actionName === \"Field list closed\"\r\n    ) {\r\n      this.dataSourceSettings.values = [...args.dataSourceSettings.values];\r\n      this.setValueItemData();\r\n    }\r\n    if (args.actionName == \"Field removed\") {\r\n      if (\r\n        args.fieldInfo &&\r\n        args.fieldInfo.fieldItem &&\r\n        args.fieldInfo.fieldItem.type == \"CalculatedField\"\r\n      ) {\r\n        let field = args.fieldInfo.fieldName;\r\n        // Remove the deleted calculated field from an stored array.\r\n        this.customCalculatedFields = this.customCalculatedFields.filter(\r\n          function (obj) {\r\n            return obj.name !== field;\r\n          }\r\n        );\r\n      }\r\n    }\r\n  }\r\n\r\n  // Calculated field事件：开始\r\n  public actionBegin(args) {\r\n    if (args.fieldInfo) {\r\n      const index = this.dataSourceSettings.rows.findIndex(\r\n        (el) => el.name === args.fieldInfo.name\r\n      );\r\n      if (index > -1) {\r\n        // SMP2-29414 如果行是计算字段，则取消排序\r\n        args.cancel = true;\r\n      }\r\n    }\r\n\r\n    if (args.actionName === \"Edit calculated field\") {\r\n      for (let i = 0; i < this.customCalculatedFields.length; i++) {\r\n        if (\r\n          this.customCalculatedFields[i].name &&\r\n          this.pivotObj.engineModule.fieldList[\r\n            this.customCalculatedFields[i].name\r\n          ]\r\n        ) {\r\n          this.pivotObj.engineModule.fieldList[\r\n            this.customCalculatedFields[i].name\r\n          ].formula = this.customCalculatedFields[i].formula;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  private resizeStop(args) {\r\n    if (this.config.columnsWidth) {\r\n      const header_field = this.config.columnsWidth.filter(\r\n        (el) => el.headerText === args.column.headerText\r\n      );\r\n      if (header_field.length > 0) {\r\n        header_field[0].width = parseInt(args.column.width);\r\n      } else {\r\n        this.config.columnsWidth.push({\r\n          headerText: args.column.headerText,\r\n          width: parseInt(args.column.width),\r\n        });\r\n      }\r\n    } else {\r\n      this.config.columnsWidth = [];\r\n      this.config.columnsWidth.push({\r\n        headerText: args.column.headerText,\r\n        width: parseInt(args.column.width),\r\n      });\r\n    }\r\n    const portlet = this.portlet;\r\n    portlet.config = JSON.stringify(this.config);\r\n    const index = this.portlets.findIndex((x) => x.newId === portlet.newId);\r\n    if (index > -1) this.portlets[index] = portlet;\r\n  }\r\n\r\n  private setColumnsRender(args) {\r\n    if (args.stackedColumns) {\r\n      args.stackedColumns.forEach((col) => {\r\n        if (\r\n          col.format &&\r\n          (col.format.indexOf(\"N\") !== -1 ||\r\n            col.format === \"percent\" ||\r\n            col.format.indexOf(\"P\") !== -1)\r\n        ) {\r\n          col.textAlign = \"Right\";\r\n        }\r\n      });\r\n    }\r\n\r\n    if (this.config.columnsWidth) {\r\n      for (let i = 0; i < (args as any).columns.length; i++) {\r\n        if (args.columns[i].headerText === \"\" || !args.columns[i].headerText) {\r\n          const column_row = this.config.columnsWidth.filter(\r\n            (el) => el.headerText === args.columns[i].headerText\r\n          );\r\n          if (column_row.length > 0) {\r\n            args.columns[i].width = column_row[0].width;\r\n          }\r\n        } else {\r\n          const headerText = args.columns[i].headerText\r\n            .replace(/\\s+/g, \"\")\r\n            .split(\".\");\r\n          if (headerText && headerText.length > 0) {\r\n            const column = this.config.columnsWidth.filter(\r\n              (el) =>\r\n                el.headerText.replace(/\\s+/g, \"\").toLowerCase() ===\r\n                headerText[headerText.length - 1].toLowerCase()\r\n            );\r\n            if (column.length > 0) {\r\n              (args as any).columns[i].width = column[0].width;\r\n            }\r\n          }\r\n        }\r\n        // date format about quarterly\r\n        let pivotValues: any = this.pivotObj.pivotValues;\r\n        if (this.formatDates && this.formatDates.length) {\r\n          let dateFields = this.formatDates.map((el) => {\r\n            return el.name;\r\n          });\r\n          for (let k = 1; k < pivotValues.length; k++) {\r\n            for (\r\n              let j = 0;\r\n              pivotValues[k] != null && j < pivotValues[k].length;\r\n              j++\r\n            ) {\r\n              if (\r\n                pivotValues[k][j] != null &&\r\n                (j == 0\r\n                  ? dateFields.includes(pivotValues[k][j].valueSort.axis)\r\n                  : dateFields.includes(pivotValues[k][j].actualText))\r\n              ) {\r\n                //Customize the Row headers/Column headers based on your needs\r\n                let headers;\r\n                if (j === 0) {\r\n                  headers = pivotValues[k][j].actualText;\r\n                } else {\r\n                  // headers = pivotValues[k][j].formattedText;\r\n                  headers = pivotValues[k][j].value;\r\n                }\r\n                if (headers) {\r\n                  let date = new Date(headers);\r\n\r\n                  let quarter = Math.floor(date.getMonth() / 3) + 1;\r\n\r\n                  let format;\r\n\r\n                  this.formatDates.map((el) => {\r\n                    if (j == 0) {\r\n                      if (el.name == pivotValues[k][j].valueSort.axis)\r\n                        format = el.format;\r\n                    } else {\r\n                      if (el.name == pivotValues[k][j].actualText)\r\n                        format = el.format;\r\n                    }\r\n                  });\r\n                  pivotValues[k][j].formattedText = this.getQuarterValue(\r\n                    format,\r\n                    date,\r\n                    quarter\r\n                  );\r\n                }\r\n              }\r\n            }\r\n          }\r\n        }\r\n      }\r\n      // if(this.pivotObj) this.pivotObj.refresh();\r\n    }\r\n  }\r\n\r\n  public onLoad(): void {\r\n    // SMP2-15651 开启虚拟滚动并sort列后，来回滚动会导致数据空白\r\n    // 官方链接 https://ej2.syncfusion.com/angular/documentation/pivotview/virtual-scrolling#virtual-scrolling-for-static-field-list\r\n    // Demo链接 https://stackblitz.com/edit/github-7ggk2u-4rkzb3?file=src%2Fapp.component.ts\r\n    (this.fieldlistObj as PivotFieldListComponent).pivotGridModule = this\r\n      .pivotObj as PivotViewComponent;\r\n  }\r\n\r\n  ondataBound() {\r\n    if (Browser.isDevice) {\r\n      this.pivotObj.element.style.width = \"100%\";\r\n      this.pivotObj.allowCalculatedField = true;\r\n      this.pivotObj.showFieldList = true;\r\n    }\r\n  }\r\n\r\n  private enginePopulated(args) {\r\n    let clonedValues: IPivotValues;\r\n    let currentPivotValues: any = this.getClonedPivotValues(\r\n      this.pivotObj.engineModule.pivotValues\r\n    );\r\n    let pageSettings: IPageSettings = this.pivotObj.engineModule.pageSettings;\r\n\r\n    if (this.pivotObj.engineModule.generateGridData) {\r\n      // 没法复现 https://raiselp.atlassian.net/browse/SMP2-1724 处理的这个问题情况, 直接注释掉\r\n      // 下面这段代码会影响 https://raiselp.atlassian.net/browse/SMP2-12139\r\n      // this.pivotObj.engineModule.generateGridData(\r\n      // \tthis.pivotObj.dataSourceSettings,\r\n      // \ttrue\r\n      // );\r\n      clonedValues = this.getClonedPivotValues(\r\n        this.pivotObj.engineModule.pivotValues\r\n      );\r\n\r\n      this.pivotObj.engineModule.pivotValues = currentPivotValues;\r\n\r\n      this.pivotObj.engineModule.pageSettings = pageSettings;\r\n\r\n      // Here \"clonedValues\" contains the whole pivot values.\r\n      this.allDataValue = clonedValues;\r\n    }\r\n  }\r\n\r\n  private getClonedPivotValues(pivotValues: IPivotValues): IPivotValues {\r\n    let clonedSets: IPivotValues = [];\r\n    if (pivotValues && pivotValues.length) {\r\n      for (let i: number = 0; i < pivotValues.length; i++) {\r\n        if (pivotValues[i]) {\r\n          clonedSets[i] = [];\r\n          for (let j: number = 0; j < pivotValues[i].length; j++) {\r\n            if (pivotValues[i][j]) {\r\n              /* eslint-disable */\r\n              clonedSets[i][j] = this.getClonedPivotValueObj(\r\n                pivotValues[i][j] as { [key: string]: Object }\r\n              );\r\n              /* eslint-enable */\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n    return clonedSets;\r\n  }\r\n\r\n  private getClonedPivotValueObj(data: { [key: string]: Object }): {\r\n    [key: string]: Object;\r\n  } {\r\n    let keyPos: number = 0;\r\n    let framedSet: any = {};\r\n    if (!(data === null || data === undefined)) {\r\n      let fields: string[] = Object.keys(data);\r\n      while (keyPos < fields.length) {\r\n        framedSet[fields[keyPos]] = data[fields[keyPos]];\r\n        keyPos++;\r\n      }\r\n    } else {\r\n      framedSet = data;\r\n    }\r\n    return framedSet;\r\n  }\r\n\r\n  //#region Filtering the TreeNodes\r\n  private searchNodes(args) {\r\n    let _text = args.maskedValue;\r\n    let predicats = [],\r\n      _array = [],\r\n      _filter = [];\r\n    if (_text == \"\") {\r\n      this.changeDataSource(\r\n        ((this as any).fieldlistObj.treeViewModule as any).getTreeData()\r\n      );\r\n    } else {\r\n      let predicate = new Predicate(\"caption\", \"contains\", _text, true);\r\n      let filteredList = new DataManager(\r\n        ((this as any).fieldlistObj.treeViewModule as any).getTreeData()\r\n      ).executeLocal(new Query().where(predicate));\r\n      for (let j = 0; j < filteredList.length; j++) {\r\n        _filter.push(filteredList[j][\"id\"]);\r\n        let filters = this.getFilterItems(\r\n          filteredList[j],\r\n          ((this as any).fieldlistObj.treeViewModule as any).getTreeData()\r\n        );\r\n        for (let i = 0; i < filters.length; i++) {\r\n          if (_array.indexOf(filters[i]) == -1 && filters[i] != null) {\r\n            _array.push(filters[i]);\r\n            predicats.push(new Predicate(\"id\", \"equal\", filters[i], false));\r\n          }\r\n        }\r\n      }\r\n      if (predicats.length == 0) {\r\n        this.changeDataSource([]);\r\n      } else {\r\n        let query = new Query().where(Predicate.or(predicats));\r\n        let newList = new DataManager(\r\n          ((this as any).fieldlistObj.treeViewModule as any).getTreeData()\r\n        ).executeLocal(query);\r\n        this.changeDataSource(newList);\r\n      }\r\n    }\r\n  }\r\n\r\n  //Find the Parent Nodes for corresponding childs\r\n  public getFilterItems(fList, list) {\r\n    let nodes = [];\r\n    nodes.push(fList[\"id\"]);\r\n    let query2 = new Query().where(\"id\", \"equal\", fList[\"pid\"], false);\r\n    let fList1 = new DataManager(list).executeLocal(query2);\r\n    if (fList1.length != 0) {\r\n      let pNode = this.getFilterItems(fList1[0], list);\r\n      for (let i = 0; i < pNode.length; i++) {\r\n        if (nodes.indexOf(pNode[i]) == -1 && pNode[i] != null)\r\n          nodes.push(pNode[i]);\r\n      }\r\n      return nodes;\r\n    }\r\n    return nodes;\r\n  }\r\n\r\n  public created(args: any) {\r\n    if (this.fieldlistObj && !this.fieldlistObj.engineModule.fields) {\r\n      this.fieldlistObj.engineModule.fields = [];\r\n    }\r\n    let search = document.createElement(\"input\");\r\n    search.id = \"pivotSearchBox\" + this.fieldlistObj.element.id;\r\n    let el = document.querySelector(\r\n      \"#\" + this.fieldlistObj.element.id + \"_Container .e-field-table\"\r\n    );\r\n    if (el) el.prepend(search);\r\n    this.pivotSearchBox = new MaskedTextBox({\r\n      placeholder: this.translation.SEARCH || \".SEARCH\",\r\n      cssClass: \"pivot-search\",\r\n      change: this.searchNodes.bind(this),\r\n    });\r\n    this.pivotSearchBox.appendTo(\r\n      \"#pivotSearchBox\" + this.fieldlistObj.element.id\r\n    );\r\n\r\n    // NEW Dashboard 点击\"apply\"时，请求新数据\r\n    let applyBtn = document.getElementById(\r\n      this.fieldlistObj.element.id + \"_DeferUpdateButton1\"\r\n    );\r\n    applyBtn &&\r\n      applyBtn.addEventListener(\"click\", () => {\r\n        const _portlet = cloneDeep(this.portlet);\r\n        this.portlets.forEach((item, i) => {\r\n          if (item.newId === _portlet.newId) {\r\n            const _config_new = JSON.parse(item.config);\r\n            const _config = JSON.parse(_portlet.config);\r\n            _config.redirectObject = cloneDeep(_config_new.redirectObject);\r\n            _portlet.config = JSON.stringify(_config);\r\n            this.portlets[i] = cloneDeep(_portlet);\r\n            this.ref.detectChanges();\r\n          }\r\n        });\r\n        this.pageLoading = true;\r\n        this.dashboardPorletsService.getDataByPortletsNew(\r\n          [_portlet],\r\n          () => {\r\n            this.pageLoading = false;\r\n            this.Pivot_Data = this.dashboardPorletsService.getResultByDataTable(\r\n              this.portlet,\r\n              false,\r\n              false,\r\n              this.dashboard.id\r\n            );\r\n            this.pivotObj.dataSourceSettings.dataSource = this.Pivot_Data.map(\r\n              (ele) => {\r\n                return {\r\n                  ...ele,\r\n                };\r\n              }\r\n            );\r\n\r\n            if (this.Pivot_Data) {\r\n              let groups = this.config.xaxis.groups;\r\n              let rows = [];\r\n              if (groups) {\r\n                for (let gitem of groups) {\r\n                  const field = this.configFields.filter(\r\n                    (el) => el.colName === gitem.name\r\n                  );\r\n                  if (field.length > 0) {\r\n                    gitem.showSubTotals = field[0].showSubTotals;\r\n                    gitem.caption =\r\n                      field[0].langValue ||\r\n                      this.translation[field[0].langCode] ||\r\n                      field[0].langCode ||\r\n                      gitem.caption;\r\n                  }\r\n                  rows.push(gitem);\r\n                }\r\n              }\r\n              this.Pivot_Data.map((data) => {\r\n                rows.forEach((row) => {\r\n                  if (data[row.name] === \"\") {\r\n                    data[row.name] = \" \";\r\n                  }\r\n                });\r\n              });\r\n            }\r\n            if (this.pivotObj) this.pivotObj.refreshData();\r\n            this.ref.markForCheck();\r\n            this.ref.detectChanges();\r\n          },\r\n          null,\r\n          false,\r\n          this.dashboard,\r\n          false\r\n        );\r\n      });\r\n    let cancelBtn = document.getElementById(\r\n      this.fieldlistObj.element.id + \"_DeferUpdateButton2\"\r\n    );\r\n\r\n    cancelBtn &&\r\n      cancelBtn.addEventListener(\"click\", () => {\r\n        this.pivotObj.dataSourceSettings.dataSource = [...this.Pivot_Data];\r\n        if (this.pivotObj) this.pivotObj.refreshData();\r\n        this.ref.markForCheck();\r\n        this.ref.detectChanges();\r\n      });\r\n  }\r\n\r\n  public fieldListRefreshed(args) {\r\n    if (this.pivotSearchBox) {\r\n      this.pivotSearchBox.value = \"\";\r\n      this.changeDataSource(\r\n        (this.fieldlistObj.treeViewModule as any).getTreeData()\r\n      );\r\n    }\r\n  }\r\n\r\n  private changeDataSource(data) {\r\n    let fieldTable = (this as any).fieldlistObj.treeViewModule.fieldTable;\r\n    if (fieldTable) {\r\n      fieldTable.fields = {\r\n        dataSource: data,\r\n        id: \"id\",\r\n        text: \"caption\",\r\n        isChecked: \"isSelected\",\r\n        parentID: \"pid\",\r\n        iconCss: \"spriteCssClass\",\r\n      };\r\n    }\r\n  }\r\n\r\n  //SMP2-2957 fix the date issue on the raw data\r\n  public drillThrough(args: DrillThroughEventArgs) {\r\n    for (let i = 0; i < args.gridColumns.length; i++) {\r\n      const data = this.configFields.filter(\r\n        (el) => el.colName === args.gridColumns[i].field\r\n      );\r\n      if (data && data.length > 0) {\r\n        if (data[0].dataType === \"date\" || data[0].dataType === \"datetime\") {\r\n          args.gridColumns[i].type = \"date\";\r\n        }\r\n      }\r\n    }\r\n  }\r\n  //#endregion\r\n\r\n  private setFontSettingConditional(obj, data, code) {\r\n    if (code === -1) {\r\n      obj.style.color = data.negaFontColor;\r\n      obj.style.fontFamily = data.negaFontFamilyValue;\r\n      obj.style.fontSize = data.negaFontSizeValue;\r\n      obj.style.backgroundColor = data.negaBackgroundColor;\r\n    } else {\r\n      obj.style.color = data.fontColor;\r\n      obj.style.fontFamily = data.fontFamilyValue;\r\n      obj.style.fontSize = data.fontSizeValue;\r\n      obj.style.backgroundColor = data.backgroundColor;\r\n    }\r\n  }\r\n\r\n  private setCompareConditional(\r\n    negaConditionalFormatObj,\r\n    conditionalFormatObj,\r\n    data\r\n  ) {\r\n    if (Math.sign(data.compareValue1) == 0) {\r\n      switch (data.compareSelect) {\r\n        case \"LessThan\": // 小于\r\n        case \"LessThanOrEqualTo\": // 小于等于\r\n          negaConditionalFormatObj.value1 = 0;\r\n          negaConditionalFormatObj.conditions = data.compareSelect;\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          break;\r\n        case \"GreaterThan\": // 大于\r\n        case \"GreaterThanOrEqualTo\": // 大于等于\r\n          conditionalFormatObj.value1 = 0;\r\n          conditionalFormatObj.conditions = data.compareSelect;\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          break;\r\n        case \"NotEquals\": // 不等于\r\n          negaConditionalFormatObj.value1 = 0;\r\n          negaConditionalFormatObj.conditions = \"LessThan\";\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          conditionalFormatObj.value1 = 0;\r\n          conditionalFormatObj.conditions = \"GreaterThan\";\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          break;\r\n        case \"Between\": // value1<= val <=value2\r\n          if (Math.sign(data.compareValue2) === 1) {\r\n            conditionalFormatObj.value1 = 0;\r\n            conditionalFormatObj.value2 = Number(data.compareValue2);\r\n            conditionalFormatObj.conditions = \"Between\";\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          }\r\n          break;\r\n        case \"NotBetween\": // val >= value2, val <= value1\r\n          if (Math.sign(data.compareValue2) === 1) {\r\n            conditionalFormatObj.value1 = Number(data.compareValue2);\r\n            conditionalFormatObj.conditions = \"GreaterThan\";\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n            negaConditionalFormatObj.value1 = 0;\r\n            negaConditionalFormatObj.conditions = \"LessThan\";\r\n            this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          }\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n    } else if (Math.sign(data.compareValue1) === 1) {\r\n      switch (data.compareSelect) {\r\n        case \"LessThan\": // 小于\r\n        case \"LessThanOrEqualTo\": // 小于等于\r\n          conditionalFormatObj.value1 = 0;\r\n          conditionalFormatObj.value2 = Number(data.compareValue1);\r\n          conditionalFormatObj.conditions = \"Between\";\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          negaConditionalFormatObj.value1 = 0;\r\n          negaConditionalFormatObj.conditions = \"LessThan\";\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          break;\r\n        case \"GreaterThan\": // 大于\r\n        case \"GreaterThanOrEqualTo\": // 大于等于\r\n          conditionalFormatObj.value1 = Number(data.compareValue1);\r\n          conditionalFormatObj.conditions = \"GreaterThan\";\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          break;\r\n        case \"Equals\": // 等于\r\n          conditionalFormatObj.value1 = Number(data.compareValue1);\r\n          conditionalFormatObj.conditions = \"Equals\";\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          break;\r\n        case \"NotEquals\": // 不等于\r\n          conditionalFormatObj.value1 = 0;\r\n          conditionalFormatObj.value2 = Number(data.compareValue1);\r\n          conditionalFormatObj.conditions = \"Between\";\r\n          // push进数组\r\n          conditionalFormatObj.value1 = Number(data.compareValue1);\r\n          conditionalFormatObj.conditions = \"GreaterThan\";\r\n          // push进数组\r\n\r\n          negaConditionalFormatObj.value1 = 0;\r\n          negaConditionalFormatObj.conditions = \"LessThanOrEqualTo\";\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          break;\r\n        case \"Between\": // value1<= val <=value2\r\n          if (Math.sign(data.compareValue2) === 1) {\r\n            conditionalFormatObj.value1 = Number(data.compareValue1);\r\n            conditionalFormatObj.value2 = Number(data.compareValue2);\r\n            conditionalFormatObj.conditions = \"Between\";\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          }\r\n          break;\r\n        case \"NotBetween\": // val >= value2, val <= value1\r\n          if (Math.sign(data.compareValue2) === 1) {\r\n            conditionalFormatObj.value1 = 0;\r\n            conditionalFormatObj.value2 = Number(data.compareValue1);\r\n            conditionalFormatObj.conditions = \"Between\";\r\n            // push进数组\r\n            conditionalFormatObj.value1 = Number(data.compareValue2);\r\n            conditionalFormatObj.conditions = \"GreaterThan\";\r\n            // push进数组\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          }\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n    } else if (Math.sign(data.compareValue1) === -1) {\r\n      switch (data.compareSelect) {\r\n        case \"LessThan\": // 小于\r\n        case \"LessThanOrEqualTo\": // 小于等于\r\n          negaConditionalFormatObj.value1 = data.compareValue1;\r\n          negaConditionalFormatObj.conditions = data.compareSelect;\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          break;\r\n        case \"GreaterThan\": // 大于\r\n        case \"GreaterThanOrEqualTo\": // 大于等于\r\n          conditionalFormatObj.value1 = 0;\r\n          conditionalFormatObj.conditions = \"GreaterThanOrEqualTo\";\r\n          negaConditionalFormatObj.value1 = 0;\r\n          negaConditionalFormatObj.value2 = data.compareValue1;\r\n          negaConditionalFormatObj.conditions = \"Between\";\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          break;\r\n        case \"Equals\": // 等于\r\n          negaConditionalFormatObj.value1 = data.compareValue1;\r\n          negaConditionalFormatObj.conditions = \"Equals\";\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n        case \"NotEquals\": // 不等于\r\n          negaConditionalFormatObj.value1 = data.compareValue1;\r\n          negaConditionalFormatObj.conditions = \"NotEquals\";\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          conditionalFormatObj.value1 = 0;\r\n          conditionalFormatObj.conditions = \"GreaterThan\";\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          break;\r\n        case \"Between\": // value1<= val <=value2\r\n          if (Math.sign(data.compareValue2)) {\r\n            negaConditionalFormatObj.value1 = 0;\r\n            negaConditionalFormatObj.value2 = data.compareValue1;\r\n            negaConditionalFormatObj.conditions = \"Between\";\r\n            this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n            conditionalFormatObj.value1 = 0;\r\n            conditionalFormatObj.value2 = data.compareValue2;\r\n            conditionalFormatObj.conditions = \"Between\";\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          } else {\r\n            negaConditionalFormatObj.value1 = data.compareValue1;\r\n            negaConditionalFormatObj.value2 = data.compareValue2;\r\n            negaConditionalFormatObj.conditions = \"Between\";\r\n            this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          }\r\n          break;\r\n        case \"NotBetween\": // val >= value2, val <= value1\r\n          if (Math.sign(data.compareValue2)) {\r\n            negaConditionalFormatObj.value1 = data.compareValue1;\r\n            negaConditionalFormatObj.conditions = \"LessThan\";\r\n            this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n\r\n            conditionalFormatObj.value1 = data.compareValue2;\r\n            conditionalFormatObj.conditions = \"GreaterThan\";\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          } else {\r\n            negaConditionalFormatObj.value1 = data.compareValue1;\r\n            negaConditionalFormatObj.value2 = data.compareValue2;\r\n            negaConditionalFormatObj.conditions = \"NotBetween\";\r\n            this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n\r\n            conditionalFormatObj.value1 = 0;\r\n            conditionalFormatObj.conditions = \"GreaterThan\";\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          }\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n    }\r\n  }\r\n\r\n  private getQuarterValue(format, date, quarter) {\r\n    let year: any;\r\n    switch (format) {\r\n      case \"Q1 2021\":\r\n        year = date.getFullYear();\r\n        return \"Q\" + quarter + \" \" + year;\r\n      case \"Q1 21\":\r\n        year = (date as any).getYear() - 100;\r\n        return \"Q\" + quarter + \" \" + year;\r\n      case \"2021 Q1\":\r\n        year = date.getFullYear();\r\n        return year + \" \" + \"Q\" + quarter;\r\n      case \"21 Q1\":\r\n        year = (date as any).getYear() - 100;\r\n        return year + \" \" + \"Q\" + quarter;\r\n    }\r\n  }\r\n\r\n  customiseCell(args: QueryCellInfoEventArgs) {\r\n    if (args.column.type === \"date\" || args.column.type === \"dateTime\") {\r\n      const { field } = args.column;\r\n      if (!args.data[field]) {\r\n        args.column.type = \"string\";\r\n        args.column.format = \"\";\r\n      }\r\n    }\r\n  }\r\n\r\n  /**\r\n   * @param timeArray 数组对象 [{\"date\":\"2021-01-01\"},{\"date\":\"2021-02-01\"}]\r\n   * @param endDate 截至时间\r\n   * @param interval 时间间隔 year / quarter / month\r\n   * @param timeKey 时间字段名 date\r\n   * @returns 划分后的时间分组对象\r\n   */\r\n  getTimeRanges(timeArray, endDate, interval, timeKey) {\r\n    // 将时间字符串转换为 moment 对象\r\n    const dates = timeArray.map((item) => moment(item[timeKey || \"date\"]));\r\n\r\n    // 分隔符\r\n    const delimiter = \"-\";\r\n\r\n    // 找到最小时间和最大时间\r\n    const minDate = moment.min(dates);\r\n    const maxDate = moment(endDate);\r\n\r\n    // 初始化结果对象\r\n    const result = {};\r\n\r\n    // 根据入参进行划分\r\n    if (interval === \"year\") {\r\n      const startYear = minDate.year();\r\n      const endYear = maxDate.year();\r\n\r\n      for (let year = startYear; year <= endYear; year++) {\r\n        result[year] = [];\r\n      }\r\n\r\n      dates.forEach((date, index) => {\r\n        const year = date.year();\r\n        result[year].push(timeArray[index]);\r\n      });\r\n    } else if (interval === \"quarter\") {\r\n      // 存储季度字符串\r\n      const quarters = [];\r\n\r\n      // 逐一遍历每个季度\r\n      for (\r\n        let currentDate = minDate.clone();\r\n        currentDate.isSameOrBefore(maxDate);\r\n        currentDate.add(3, \"months\")\r\n      ) {\r\n        const year = currentDate.year();\r\n        const quarter = Math.ceil((currentDate.month() + 1) / 3); // 计算季度\r\n        quarters.push(`${year}${delimiter}Q${quarter}`); // 格式化并添加到数组\r\n      }\r\n\r\n      // 输出所有季度\r\n      quarters.forEach((quarter, index) => {\r\n        result[quarter] = [];\r\n      });\r\n\r\n      dates.forEach((date, index) => {\r\n        const year = date.year();\r\n        const quarter = date.quarter(); // 获取季度\r\n        if (quarter === 1)\r\n          result[year + delimiter + \"Q1\"].push(timeArray[index]);\r\n        else if (quarter === 2)\r\n          result[year + delimiter + \"Q2\"].push(timeArray[index]);\r\n        else if (quarter === 3)\r\n          result[year + delimiter + \"Q3\"].push(timeArray[index]);\r\n        else if (quarter === 4)\r\n          result[year + delimiter + \"Q4\"].push(timeArray[index]);\r\n      });\r\n    } else if (interval === \"month\") {\r\n      // 存储月份字符串\r\n      const months = [];\r\n\r\n      // 逐一遍历每个月\r\n      for (\r\n        let currentDate = minDate.clone();\r\n        currentDate.isSameOrBefore(maxDate);\r\n        currentDate.add(1, \"months\")\r\n      ) {\r\n        months.push(currentDate.format(`YYYY${delimiter}MM`)); // 格式化并添加到数组\r\n      }\r\n\r\n      // 输出所有月份\r\n      months.forEach((month, index) => {\r\n        result[month] = [];\r\n      });\r\n\r\n      dates.forEach((date, index) => {\r\n        const year = date.year();\r\n        const month = (date.month() + 1).toString().padStart(2, \"0\"); // 0-11\r\n        result[year + delimiter + month].push(timeArray[index]);\r\n      });\r\n    }\r\n\r\n    return result;\r\n  }\r\n\r\n  /**\r\n   * 计算几何算数平方更\r\n   * @param values 数组 [0, 0, 0.2575]\r\n   * @returns\r\n   */\r\n  calculateGrowthRate(values) {\r\n    const product = values.reduce((acc, val) => acc * (1 + val), 1);\r\n    if (product >= 0) {\r\n      return Math.pow(product, 1 / values.length) - 1;\r\n    } else if (product < 0) {\r\n      if (values.length % 2 == 0) {\r\n        return null;\r\n      } else {\r\n        return this.nthroot(product, values.length) - 1;\r\n      }\r\n    }\r\n  }\r\n  nthroot(x, n) {\r\n    let ng = n % 2;\r\n    if (ng == 1 || x < 0) x = -x;\r\n    var r = Math.pow(x, 1 / n);\r\n    n = Math.pow(r, n);\r\n\r\n    if (Math.abs(x - n) < 1 && x > 0 === n > 0) return ng ? -r : r;\r\n  }\r\n\r\n  /**\r\n   * 标准偏差\r\n   * @param values 数组 [0, 0, -0.4775]\r\n   * @returns 0.2756847535380463\r\n   */\r\n  calculateStandardDeviation(values) {\r\n    const n = values.length;\r\n\r\n    // 检查数据点数量\r\n    if (n < 2) {\r\n      throw new Error(\"至少需要两个数据点来计算样本标准偏差\");\r\n    }\r\n\r\n    // 计算均值\r\n    const mean = values.reduce((acc, val) => acc + val, 0) / n;\r\n\r\n    // 计算方差\r\n    const variance =\r\n      values.reduce((acc, val) => acc + Math.pow(val - mean, 2), 0) / (n - 1);\r\n\r\n    // 返回标准偏差\r\n    return Math.sqrt(variance);\r\n  }\r\n\r\n  // 双击行进入detail页面\r\n  public rowClick(fundId) {\r\n    if (\r\n      this.config &&\r\n      this.config.redirectObject &&\r\n      this.config.redirectObject instanceof Object\r\n    ) {\r\n      this.pbf.pageLoading = true;\r\n      this.pbf.pageLoading_.next(true);\r\n      this.config.redirectObject.entity = fundId;\r\n      let {\r\n        dashboardName,\r\n        object,\r\n        dashboardGroupId,\r\n        dashboardGroupName,\r\n        RegionDataSetId,\r\n      } = this.config.redirectObject;\r\n      this.dashboardService.dashboardGroupId[object] = dashboardGroupId;\r\n      this.dashboardService.dashboardGroupName[object] = dashboardGroupName;\r\n      if (this.dashboardPorletsService.allDashboardList[this.dashboard.id]) {\r\n        this.dashboardPorletsService.allDashboardList[\r\n          this.dashboard.id\r\n        ].forEach((dashboard) => {\r\n          if (dashboard.code === object) {\r\n            dashboardName = dashboard.text || dashboardName;\r\n          }\r\n        });\r\n      }\r\n      this.dashboardService.RegionDataSetId[object] = RegionDataSetId;\r\n      this.dashboardService.dashboardName[object] = dashboardName;\r\n      const redirectObject = {\r\n        ...this.config.redirectObject,\r\n      };\r\n      if (!redirectObject.currency) {\r\n        redirectObject.currency = this.dashboard.currencyCode;\r\n      }\r\n      if (!redirectObject.date) {\r\n        redirectObject.date = this.dashboard.asOfDate;\r\n      }\r\n      this.dashboardService.initTemplate = cloneDeep(redirectObject);\r\n      this.dashboardPorletsService.getInfo();\r\n      if (object === this.dashboard.id) {\r\n        this.dashboardService.updateDatamartEntity.next(this.dashboard);\r\n        return;\r\n      }\r\n      this.pbf.setSessionStorage(\"navigationInfo\", {\r\n        name: dashboardName,\r\n        title: dashboardName,\r\n      });\r\n\r\n      const uuid = this.pbf.getUuid(object);\r\n      this.pbf.setUrlId(uuid, object);\r\n      this.router.navigate([\"/pages/dashboard/dashboardDetail\", uuid], {\r\n        queryParams: {\r\n          dashboardType: \"customized\",\r\n          template: true,\r\n        },\r\n        state: { noReused: true },\r\n      });\r\n    }\r\n  }\r\n\r\n  updateTemplate() {\r\n    if (!isNullOrUndefined(this.rowPager as Pager)) {\r\n      this.rowPager.destroy();\r\n      this.rowPager = undefined;\r\n    }\r\n    if (this.pivotObj) {\r\n      this.rowPager = new Pager({\r\n        pageSize:\r\n          this.config.pvPageSize || this.pivotObj.pageSettings.rowPageSize,\r\n        totalRecordsCount: this.pivotObj.engineModule.rowCount,\r\n        currentPage: this.pivotObj.pageSettings.currentRowPage,\r\n        pageCount: 3,\r\n        pageSizes: [\"25\", \"50\", \"100\"],\r\n        click: this.rowPageClick.bind(this),\r\n        dropDownChanged: this.rowPageSizeChange.bind(this),\r\n      });\r\n    }\r\n\r\n    this.rowPager.appendTo(`#row-pager${this.pvTablePagerId}`);\r\n  }\r\n\r\n  rowPageClick(args: any) {\r\n    this.pivotObj!.pageSettings.currentRowPage = args.currentPage;\r\n  }\r\n  rowPageSizeChange(args: any) {\r\n    this.pivotObj!.pageSettings.rowPageSize = args.pageSize;\r\n    this.config.pvPageSize = args.pageSize;\r\n    this.portlet.config = JSON.stringify(this.config);\r\n  }\r\n}\r\n","<div\r\n\tclass=\"control-section\"\r\n\tstyle=\"overflow: hidden; height: 100%\"\r\n\t[ngClass]=\"{\r\n\t\tshowHightlight: showHightlight,\r\n\t\tcustomized: customized\r\n\t}\"\r\n>\r\n\t<ejs-pivotview\r\n\t\twidth=\"100%\"\r\n\t\theight=\"100%\"\r\n\t\t[dataSourceSettings]=\"dataSourceSettings\"\r\n\t\t#pivotview\r\n\t\t(dataBound)=\"dataBound($event)\"\r\n\t\tenableValueSorting=\"true\"\r\n\t\tallowConditionalFormatting=\"true\"\r\n\t\tallowDeferLayoutUpdate=\"true\"\r\n\t\t[gridSettings]=\"gridSettings\"\r\n\t\tallowExcelExport=\"true\"\r\n\t\tallowGrouping=\"true\"\r\n\t\t[zoomSettings]=\"zoomSettings\"\r\n\t\t(enginePopulated)=\"afterEnginePopulate($event)\"\r\n\t\t(aggregateCellInfo)=\"aggregateCellInfo($event)\"\r\n\t\t(cellClick)=\"cellClick($event)\"\r\n\t\tallowDrillThrough=\"true\"\r\n\t\t(actionFailure)=\"actionFailure($event)\"\r\n\t\t(actionComplete)=\"actionComplete($event)\"\r\n\t\t(actionBegin)=\"actionBegin($event)\"\r\n\t\t(fieldListRefreshed)=\"fieldListRefreshed($event)\"\r\n\t\t(drillThrough)=\"drillThrough($event)\"\r\n\t\t[showTooltip]=\"false\"\r\n\t\t(queryCellInfo)=\"customiseCell($event)\"\r\n\t\t(beforeExport)=\"beforeExport($event)\"\r\n\t\tenablePaging=\"true\"\r\n\t\t[pageSettings]=\"pageSettings\"\r\n\t\t[pagerSettings]=\"pagerSettings\"\r\n\t>\r\n\t</ejs-pivotview>\r\n\t<div [id]=\"pvTablePagerId\">\r\n\t\t<div [id]=\"'row-pager' + pvTablePagerId\" class=\"e-pagertemplate\"></div>\r\n\t</div>\r\n\r\n\t<div class=\"pivotfieldlist-control\">\r\n\t\t<ejs-pivotfieldlist\r\n\t\t\t[id]=\"portlet.newId\"\r\n\t\t\t#pivotfieldlist\r\n\t\t\thidden=\"true\"\r\n\t\t\tenableValueSorting=\"true\"\r\n\t\t\tshowFieldList=\"true\"\r\n\t\t\t[allowCalculatedField]=\"true\"\r\n\t\t\tallowDeferLayoutUpdate=\"true\"\r\n\t\t\trenderMode=\"Popup\"\r\n\t\t\t(enginePopulated)=\"afterPopulate($event)\"\r\n\t\t\t(memberEditorOpen)=\"onMemberEditorOpen($event)\"\r\n\t\t\t(enginePopulating)=\"enginePopulating($event)\"\r\n\t\t\t(aggregateCellInfo)=\"aggregateCellInfo($event)\"\r\n\t\t\t(fieldDrop)=\"onFieldDrop($event)\"\r\n\t\t\t(actionComplete)=\"actionComplete($event)\"\r\n\t\t\t(actionBegin)=\"actionBegin($event)\"\r\n\t\t\t(calculatedFieldCreate)=\"calculatedFieldCreate($event)\"\r\n\t\t\t(load)=\"onLoad()\"\r\n\t\t\t(created)=\"created($event)\"\r\n\t\t>\r\n\t\t</ejs-pivotfieldlist>\r\n\t</div>\r\n\r\n\t<div class=\"full-box-mask\" *ngIf=\"pageLoading\">\r\n\t\t<mat-spinner\r\n\t\t\tstyle=\"z-index: 999\"\r\n\t\t\tmode=\"indeterminate\"\r\n\t\t\t[diameter]=\"24\"\r\n\t\t></mat-spinner>\r\n\t</div>\r\n</div>\r\n","import {\r\n  ChangeDetectorRef,\r\n  Component,\r\n  Input,\r\n  OnInit,\r\n  ViewChild,\r\n  ChangeDetectionStrategy,\r\n  EventEmitter,\r\n  Output,\r\n  Optional,\r\n  Inject,\r\n} from \"@angular/core\";\r\n\r\nimport {\r\n  IDataOptions,\r\n  PivotFieldListComponent,\r\n  PivotViewComponent,\r\n  EnginePopulatedEventArgs,\r\n  IDataSet,\r\n  ToolbarService,\r\n  FieldListService,\r\n  NumberFormattingService,\r\n  CalculatedFieldService,\r\n  CalculatedFieldCreateEventArgs,\r\n  GroupingBarService,\r\n  FieldDropEventArgs,\r\n  ISort,\r\n  VirtualScrollService,\r\n  IPivotValues,\r\n  IPageSettings,\r\n  DrillThroughEventArgs,\r\n  DrillThroughService,\r\n  PivotActionFailureEventArgs,\r\n} from \"@syncfusion/ej2-angular-pivotview\";\r\n\r\nimport { L10n, createElement, enableRipple } from \"@syncfusion/ej2-base\";\r\nimport { PBF_TOKEN } from \"../../../service/InjectionToken\";\r\n\r\nimport {\r\n  sortBy,\r\n  differenceWith,\r\n  startsWith,\r\n  cloneDeep,\r\n  uniqBy,\r\n  filter as _filter,\r\n  maxBy,\r\n  minBy,\r\n  sumBy,\r\n  meanBy,\r\n  mean,\r\n} from \"lodash\";\r\nimport { DashboardService } from \"../../dashboard.service\";\r\nimport {\r\n  AGGREGATE_TYPES_TEXT,\r\n  ALL_AGGREGATE_TYPES,\r\n  DashboardPorletsService,\r\n} from \"../../dashboardPorlets.service\";\r\nimport { Browser } from \"@syncfusion/ej2-base\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { MaskedTextBox } from \"@syncfusion/ej2-inputs/src/maskedtextbox/maskedtextbox\";\r\nimport { DataManager } from \"@syncfusion/ej2-data/src/manager\";\r\nimport { Predicate, Query } from \"@syncfusion/ej2-data/src/query\";\r\nimport { DataUtil } from \"@syncfusion/ej2-data\";\r\nimport moment from \"moment\";\r\nimport { getTranslation } from \"../../../utils/utils\";\r\nenableRipple(false);\r\n\r\n@Component({\r\n  selector: \"rs-gadget-pivot-chart\",\r\n  templateUrl: \"./gadget-pivot.component.html\",\r\n  styleUrls: [\"./gadget-pivot.component.scss\"],\r\n  providers: [\r\n    ToolbarService,\r\n    FieldListService,\r\n    NumberFormattingService,\r\n    CalculatedFieldService,\r\n    GroupingBarService,\r\n    VirtualScrollService,\r\n    DrillThroughService,\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GadgetPivotChartComponent implements OnInit {\r\n  @Input() portlet;\r\n  @Input() dashboard;\r\n  @Input() portlets;\r\n  @Input() isDownloadCache = false;\r\n  @Output() updatePorletConfig = new EventEmitter();\r\n  private Pivot_Data: IDataSet[];\r\n  private config;\r\n  public dataSourceSettings: IDataOptions;\r\n  private excludeFields = [];\r\n  private filterSettings = [];\r\n  private datePipeFormat;\r\n  public translation;\r\n  @ViewChild(\"pivotview\", { static: false })\r\n  private pivotObj: PivotViewComponent;\r\n  @ViewChild(\"pivotfieldlist\", { static: false })\r\n  public fieldlistObj: PivotFieldListComponent;\r\n  private grandTotals = {};\r\n  private subTotals = {};\r\n  private previousSort: ISort;\r\n  private subscriptions: Subscription[] = [];\r\n  private allDataValue;\r\n  // private calculatedFieldSettings;\r\n  private isInit: boolean = true;\r\n  private pivotSearchBox: MaskedTextBox;\r\n  public displayOption = {\r\n    view: \"Both\",\r\n    primary: \"Chart\",\r\n  };\r\n  public chartSettings;\r\n  public tooltipSettings = {\r\n    enable: false,\r\n  };\r\n  private columnTexts = [];\r\n  private configFields = [];\r\n  private quarterFormat = [\r\n    { value: \"03/2021\", format: \"MM/yyyy\" },\r\n    { value: \"03/21\", format: \"MM/dd\" },\r\n    { value: \"3/2021\", format: \"M/yyyy\" },\r\n    { value: \"3/21\", format: \"M/yy\" },\r\n    { value: \"March 2021\", format: \"MMMM yyyy\" },\r\n    { value: \"Mar, 2021\", format: \"MMM, yyyy\" },\r\n    { value: \"March, 2021\", format: \"MMMM, yyyy\" },\r\n    { value: \"2021\", format: \"yyyy\" },\r\n  ];\r\n  zoomSettings = {\r\n    enable: false,\r\n  };\r\n  itemDataTypeSortArr = [\"Assets\", \"Liabilities\", \"Equity\", \"P&L\", \"Cashflow\"];\r\n  private formatDates = [];\r\n  private customCalculatedFields: any[] = []; // 自定义计算列\r\n  private allowedCalculatedFields: any[] = []; // 允许自定义算法的字段\r\n  private zeroFormatData = {\r\n    emptyList: [],\r\n    hgList: [],\r\n  };\r\n  private millionFields = [];\r\n  private tempSubtotals = [];\r\n  public orderByColumns; // Eg: \"DueDate, Sequence\"\r\n  public isApplyIRR: boolean = false;\r\n  public calcIRRData: any;\r\n  private percentNumFields = [];\r\n  public pageLoading;\r\n  observable = new Observable();\r\n  public isloaded: boolean; // 是否已经初始化过\r\n\r\n  constructor(\r\n    private dashboardPorletsService: DashboardPorletsService,\r\n    private dashboardService: DashboardService,\r\n    private ref: ChangeDetectorRef,\r\n    @Optional() @Inject(PBF_TOKEN) private pbf: any\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.chartSettings = {\r\n      enableMultipleAxis: false,\r\n      showMultiLevelLabels: false,\r\n      chartSeries: {\r\n        type: \"Column\",\r\n        columnSpacing: 0.1,\r\n        columnWidth: 0.9,\r\n      },\r\n      multipleAxisMode: \"Stacked\",\r\n\r\n      chartArea: {\r\n        opacity: 0,\r\n        border: {\r\n          width: 0,\r\n        },\r\n      },\r\n      palettes: [\r\n        \"#594bb9\",\r\n        \"#f1af32\",\r\n        \"#4688ed\",\r\n        \"#e0563e\",\r\n        \"#803a63\",\r\n        \"#6dd8b5\",\r\n        \"#e87225\",\r\n        \"#c5df42\",\r\n        \"#c6437d\",\r\n      ],\r\n      primaryXAxis: {\r\n        title: \" \",\r\n        labelFormat: \"N2\",\r\n        majorGridLines: { width: 0 },\r\n        minorGridLines: {\r\n          width: 0,\r\n          color: \"transparent\",\r\n          visible: false,\r\n        },\r\n        minorTickLines: { visible: false },\r\n        lineStyle: { color: \"#EAEDF0\", width: 1 },\r\n        labelStyle: {\r\n          fontFamily: \"Arial\",\r\n          size: \"11px\",\r\n          color: \"#6C7C90\",\r\n          fontWeight: \"400\",\r\n        },\r\n        border: {\r\n          width: 0,\r\n        },\r\n        interval: 1,\r\n        labelRotation: 0,\r\n      },\r\n      primaryYAxis: {\r\n        // Y轴标题设置为空\r\n        title: \" \",\r\n        labelFormat: \"N2\",\r\n        lineStyle: { width: 0 },\r\n        majorTickLines: { width: 0 },\r\n        margin: {\r\n          right: 10,\r\n        },\r\n        majorGridLines: {\r\n          color: \"#EAEDF0\",\r\n          width: 1,\r\n        }, // 设置主要网格线颜色\r\n        labelStyle: {\r\n          fontFamily: \"Arial\",\r\n          size: \"11px\",\r\n          color: \"#6C7C90\",\r\n          fontWeight: \"400\",\r\n        },\r\n      },\r\n      legendSettings: {\r\n        visible: false,\r\n        enableHighlight: true,\r\n        cssClass: \"custom-ledgend\",\r\n        textStyle: {\r\n          fontFamily: \"Arial\",\r\n          size: \"11px\",\r\n        },\r\n      },\r\n      tooltip: {\r\n        enable: true,\r\n        fill: \"#1F3F5C\",\r\n        opacity: 1,\r\n        textStyle: {\r\n          fontFamily: \"Arial\",\r\n          size: \"11px\",\r\n        },\r\n      },\r\n      zoomSettings: {\r\n        enableMouseWheelZooming: false, // 禁用鼠标滚轮缩放\r\n        enablePinchZooming: false, // 禁用触摸缩放\r\n        enableSelectionZooming: false, // 禁用选择区域缩放\r\n        enableDeferredZooming: false, // 禁用延迟缩放\r\n        toolbarItems: [],\r\n        enableScrollbar: false,\r\n        enableZooming: false,\r\n      },\r\n      title: \" \",\r\n    };\r\n    this.getInfo();\r\n    this.getData();\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.subscriptions.push(\r\n      this.dashboardService.getStartRefresh().subscribe((dashboardId) => {\r\n        if (this.dashboard.id === dashboardId) {\r\n          this.pageLoading = true;\r\n          this.ref.markForCheck();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getRefreshGadget().subscribe((e) => {\r\n        if (!e || e[\"dashboardId\"] !== this.dashboard.id) {\r\n          return;\r\n        }\r\n        const id = e[\"newId\"];\r\n        const config = e[\"config\"];\r\n        if (id === this.portlet.newId || id === this.portlet.id) {\r\n          this.pageLoading = false;\r\n          this.getData(config);\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getchangePivot().subscribe((updated) => {\r\n        if (updated === this.portlet.newId) {\r\n          this.getData();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getUpdated().subscribe((newId) => {\r\n        if (newId === this.portlet.newId || newId === this.portlet.id) {\r\n          this.getData();\r\n          if (this.pivotObj) this.pivotObj.refreshData();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getTableFormat().subscribe((updated) => {\r\n        if (updated === this.portlet.newId) {\r\n          this.getData();\r\n          if (this.pivotObj) this.pivotObj.refreshData();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.clearFieldListObservable().subscribe((updated) => {\r\n        if (updated === this.portlet.newId) {\r\n          this.pivotObj.dataSourceSettings.dataSource = [];\r\n          if (this.pivotObj) this.pivotObj.refreshData();\r\n          this.ref.markForCheck();\r\n          this.ref.detectChanges();\r\n        }\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService\r\n        .getPvtableDisplayOptionChartChange()\r\n        .subscribe((data) => {\r\n          if (!data || !this.portlet || this.portlet.newId !== data.newId) {\r\n            return;\r\n          }\r\n          if (this.chartSettings[\"pointRender\"]) {\r\n            this.chartSettings[\"pointRender\"].complete();\r\n          }\r\n          this.initChartSetting(data.chartType);\r\n          this.setConfigToPorlet();\r\n          if (this.pivotObj) this.pivotObj.refreshData();\r\n        })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getEnableMultipleAxisChange().subscribe((data) => {\r\n        if (!data || !this.portlet || this.portlet.newId !== data.newId) {\r\n          return;\r\n        }\r\n        if (this.chartSettings[\"pointRender\"]) {\r\n          this.chartSettings[\"pointRender\"].complete();\r\n        }\r\n        this.chartSettings.enableMultipleAxis = data.enableMultipleAxis;\r\n\r\n        this.chartSettings.multipleAxisMode = data.multipleAxisMode;\r\n        if (data.enableMultipleAxis) {\r\n          this.chartSettings.primaryYAxis.lineStyle = {\r\n            width: 1,\r\n            color: \"#EAEDF0\",\r\n          };\r\n          this.chartSettings.primaryYAxis.majorTickLines = {\r\n            width: 1,\r\n            color: \"#EAEDF0\",\r\n          };\r\n        } else {\r\n          this.chartSettings.primaryYAxis.lineStyle = {\r\n            width: 0,\r\n          };\r\n          this.chartSettings.primaryYAxis.majorTickLines = {\r\n            width: 0,\r\n          };\r\n        }\r\n        this.chartSettings.legendSettings.visible = data.visible;\r\n        this.chartSettings = Object.assign({}, this.chartSettings);\r\n        if (this.pivotObj) setTimeout(() => this.pivotObj.refreshData());\r\n        this.setConfigToPorlet();\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getChartTypeChange().subscribe((data) => {\r\n        if (!data || !this.portlet || this.portlet.newId !== data.newId) {\r\n          return;\r\n        }\r\n        this.chartSettings.chartSeries.type =\r\n          data.chartSettings.chartSeries.type === \"Stacked Column\"\r\n            ? \"StackingColumn\"\r\n            : data.chartSettings.chartSeries.type;\r\n        this.chartSettings = Object.assign({}, this.chartSettings);\r\n        if (this.pivotObj) this.pivotObj.refresh();\r\n        // this.setConfigToPorlet();\r\n      })\r\n    );\r\n\r\n    this.subscriptions.push(\r\n      this.dashboardService.getTheme().subscribe((data) => {\r\n        if (!data || !this.portlet || this.portlet.newId !== data.newId) {\r\n          return;\r\n        }\r\n        this.chartSettings.palettes = [...data.theme];\r\n        this.chartSettings = Object.assign({}, this.chartSettings);\r\n\r\n        if (this.pivotObj) this.pivotObj.layoutRefresh();\r\n        this.setConfigToPorlet();\r\n      })\r\n    );\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.subscriptions.forEach((sub) => sub.unsubscribe());\r\n  }\r\n\r\n  // 找到数组中出现最多频次的元素\r\n  findMostFrequent(arr) {\r\n    let maxCount = 0;\r\n    let mostFrequentNum = null;\r\n\r\n    // 使用一个对象来计数\r\n    const countMap = {};\r\n\r\n    arr.forEach((num) => {\r\n      countMap[num] = (countMap[num] || 0) + 1;\r\n\r\n      // 检查是否是最多的\r\n      if (countMap[num] > maxCount) {\r\n        maxCount = countMap[num];\r\n        mostFrequentNum = num;\r\n      }\r\n    });\r\n\r\n    return mostFrequentNum;\r\n  }\r\n\r\n  loaded(args) {\r\n    if (args && args.chart) {\r\n      const primaryXAxis = args.chart.primaryXAxis;\r\n      if (primaryXAxis && primaryXAxis.orientation === \"Vertical\") {\r\n        if (primaryXAxis.visibleLabels.length !== primaryXAxis.labels.length) {\r\n          args.chart.zoomSettings = {\r\n            enableScrollbar: true,\r\n            enableMouseWheelZooming: false,\r\n          };\r\n        }\r\n      }\r\n    }\r\n    // 找到所有y轴标签\r\n    const elements = document.querySelectorAll(\r\n      `[id^=\"${this.pivotObj.element.id}_chart2_AxisLabel\"],\r\n\t\t\t[id^=\"${this.pivotObj.element.id}_chart3_AxisLabel\"]`\r\n    );\r\n    let isErrorAccuracy = false;\r\n    let xPosition = [];\r\n\r\n    elements.forEach((element) => {\r\n      // 是否有精度问题\r\n      if (Boolean(Number(element.innerHTML)) && element.innerHTML.length > 15) {\r\n        isErrorAccuracy = true;\r\n      }\r\n      // 记录一下y轴标签的x坐标\r\n      const currentX = parseFloat(element.getAttribute(\"x\"));\r\n      xPosition.push(currentX);\r\n\r\n      if (element.innerHTML.endsWith(\"...\")) {\r\n        let innerHTML = element.innerHTML.replace(\"...\", \"\");\r\n        element.innerHTML = Number(innerHTML).toFixed(2);\r\n        element.setAttribute(\"x\", currentX + innerHTML.length * 3 - 3 + \"\"); // 矫正长度\r\n      }\r\n    });\r\n    if (isErrorAccuracy) {\r\n      // 找到所有y轴标签中的平均x坐标\r\n      let x = mean(xPosition);\r\n      elements.forEach((element) => {\r\n        // 手动精度修正\r\n        element.innerHTML = Number(element.innerHTML).toFixed(2);\r\n        if (element.innerHTML === \"-0.00\") {\r\n          element.innerHTML = Number(0).toFixed(2);\r\n        }\r\n        // 手动设置 x坐标\r\n        element.setAttribute(\"x\", x.toString());\r\n      });\r\n    }\r\n  }\r\n\r\n  private setConfigToPorlet() {\r\n    const config = JSON.parse(this.portlet.config);\r\n    if (!config) {\r\n      return;\r\n    }\r\n    config.pvtableChartSetting = {\r\n      displayOption: this.displayOption,\r\n      chartSettings: this.chartSettings,\r\n    };\r\n    this.chartSettings[\"pointRender\"] = null;\r\n    this.config = { ...config };\r\n    this.updatePorletConfig.emit({\r\n      newId: this.portlet.newId,\r\n      config,\r\n    });\r\n  }\r\n\r\n  chartSeriesCreated(e) {\r\n    // 专门处理饼图数据标签格式\r\n    if (e && e.series && e.series.length > 0) {\r\n      if (\r\n        this.chartSettings.chartSeries.type === \"Pie\" ||\r\n        this.chartSettings.chartSeries.type === \"Doughnut\"\r\n      ) {\r\n        e.series.forEach((series: any) => {\r\n          if (series.dataLabel) {\r\n            // 设置数据标签模板，移除千位分隔符\r\n            series.dataLabel.template =\r\n              '<div style=\"color: #6C7C90;font-size: 11px;font-family: Arial;\"> ${point.x}</div>';\r\n          }\r\n        });\r\n      }\r\n    }\r\n  }\r\n\r\n  private initChartSetting(type?: string) {\r\n    const setting = this.config.pvtableChartSetting;\r\n    if (!setting) {\r\n      return;\r\n    }\r\n\r\n    setting.chartSettings.chartSeries.dataLabel = {\r\n      visible: true, // Make the data label visible\r\n      position: \"Outside\", // Position the data label outside the chart\r\n      // Define the template for data label content\r\n      template:\r\n        '<div style=\"color: #6C7C90;font-size: 11px;font-family: Arial;\"> ${(point.y).toLocaleString()}</div>',\r\n    };\r\n    this.chartSettings = {\r\n      ...setting.chartSettings,\r\n      pointRender: this.observable.subscribe((args: any) => {\r\n        if (args && args.point && args.point.y) {\r\n          args.point.y = parseFloat(args.point.y.toFixed(2));\r\n        }\r\n      }) as any,\r\n      loaded: this.isloaded\r\n        ? null\r\n        : (this.observable.subscribe(this.loaded.bind(this)) as any),\r\n      legendSettings: {\r\n        visible: setting.chartSettings.legendSettings.visible || false,\r\n        enableHighlight: true,\r\n        textStyle: {\r\n          fontFamily: \"Arial\",\r\n          size: \"11px\",\r\n        },\r\n        shapeWidth: 7,\r\n        shapeHeight: 7,\r\n      },\r\n      primaryYAxis: {\r\n        // Y轴标题设置为空\r\n        title: \" \",\r\n        labelFormat: \"N2\",\r\n        lineStyle: { width: 0 },\r\n        majorTickLines: { width: 0 },\r\n        margin: {\r\n          right: 10,\r\n        },\r\n        majorGridLines: {\r\n          color: \"#EAEDF0\",\r\n          width: 1,\r\n        }, // 设置主要网格线颜色\r\n        labelStyle: {\r\n          fontFamily: \"Arial\",\r\n          size: \"11px\",\r\n          color: \"#6C7C90\",\r\n          fontWeight: \"400\",\r\n        },\r\n      },\r\n      primaryXAxis: {\r\n        title: \" \",\r\n        labelFormat: \"N2\",\r\n        majorGridLines: { width: 0 },\r\n        minorGridLines: {\r\n          width: 0,\r\n          color: \"transparent\",\r\n          visible: false,\r\n        },\r\n        minorTickLines: { visible: false },\r\n        lineStyle: { color: \"#EAEDF0\", width: 1 },\r\n        labelStyle: {\r\n          fontFamily: \"Arial\",\r\n          size: \"11px\",\r\n          color: \"#6C7C90\",\r\n          fontWeight: \"400\",\r\n        },\r\n        border: {\r\n          width: 0,\r\n        },\r\n        plotOffsetRight: 10,\r\n        labelIntersectAction: \"Rotate45\",\r\n      },\r\n      tooltip: {\r\n        enable: true,\r\n        fill: \"#1F3F5C\",\r\n        opacity: 1,\r\n        textStyle: {\r\n          fontFamily: \"Arial\",\r\n          size: \"11px\",\r\n        },\r\n      },\r\n    };\r\n    this.isloaded = true;\r\n    // @ts-ignore\r\n    if (!this.chartSettings.palettes) {\r\n      this.chartSettings.palettes = [\r\n        \"#594bb9\",\r\n        \"#f1af32\",\r\n        \"#4688ed\",\r\n        \"#e0563e\",\r\n        \"#803a63\",\r\n        \"#6dd8b5\",\r\n        \"#e87225\",\r\n        \"#c5df42\",\r\n        \"#c6437d\",\r\n      ];\r\n    }\r\n    this.chartSettings.chartSeries.columnSpacing = 0.1;\r\n    this.chartSettings.chartSeries.columnWidth = 0.9;\r\n    if (type) {\r\n      this.chartSettings.chartSeries = {\r\n        type,\r\n        legendShape: type === \"Line\" ? \"HorizontalLine\" : \"Rectangle\",\r\n        columnSpacing: 0.1,\r\n        columnWidth: 0.9,\r\n      };\r\n    }\r\n    if (setting.chartSettings.enableMultipleAxis) {\r\n      this.chartSettings.primaryYAxis.lineStyle = {\r\n        width: 1,\r\n        color: \"#EAEDF0\",\r\n      };\r\n      this.chartSettings.primaryYAxis.majorTickLines = {\r\n        width: 1,\r\n        color: \"#EAEDF0\",\r\n      };\r\n    }\r\n    // console.log(\"this.chartSettings:\", this.chartSettings);\r\n  }\r\n\r\n  onMemberEditorOpen(args: any): void {\r\n    // 你可以在这里根据需要修改args来自定义过滤窗口的行为\r\n    // 11247 专门为item data type而设置\r\n    if (args.fieldName === \"AccountTypeCode\") {\r\n      let res = new Array(5).fill(null);\r\n      const fieldMembers = [...args.fieldMembers];\r\n\r\n      for (let i = fieldMembers.length - 1; i >= 0; i--) {\r\n        let index = -1;\r\n        const item = this.itemDataTypeSortArr.find((name, ind) => {\r\n          if (fieldMembers[i].actualText === name) {\r\n            index = ind;\r\n          }\r\n          return fieldMembers[i].actualText === name;\r\n        });\r\n        if (!item) {\r\n          continue;\r\n        }\r\n        const fillItem = fieldMembers.splice(i, 1);\r\n        res[index] = fillItem[0];\r\n      }\r\n      res = res.filter((item) => item) || [];\r\n      args.fieldMembers = [...res, ...fieldMembers];\r\n      setTimeout(() => {\r\n        const ele = document.querySelector(\".e-member-editor-dialog\");\r\n        if (ele) {\r\n          ele\r\n            .querySelector(\".e-filter-sort\")\r\n            .setAttribute(\"style\", \"display: none\");\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  beforeExport(exportData) {\r\n    if (exportData) {\r\n      const keyMap = {};\r\n      this.dataSourceSettings.formatSettings.forEach((data) => {\r\n        if (\r\n          data.format === \"#,###,,.0;(#,###,,.0)\" ||\r\n          data.format === \"#,###,,;(#,###,,)\" ||\r\n          data.format === \"#,###,,.00;(#,###,,.00)\"\r\n        ) {\r\n          keyMap[data.name] = true;\r\n        }\r\n      });\r\n      if (exportData.dataCollections && exportData.dataCollections.length) {\r\n        exportData.dataCollections[0].forEach((row) => {\r\n          row.forEach((cell) => {\r\n            if (keyMap[cell.actualText]) {\r\n              cell.value = cell.actualValue;\r\n            }\r\n          });\r\n        });\r\n      }\r\n    }\r\n  }\r\n\r\n  private async getData(config?: any) {\r\n    this.pageLoading = false;\r\n    let columns = [];\r\n    let values = [];\r\n    let formatSettings = [];\r\n    let rows = [];\r\n    let fieldMapping = [];\r\n    // 清空grandTotals和subTotals\r\n    this.grandTotals = {};\r\n    this.subTotals = {};\r\n    this.config = config ? JSON.parse(config) : JSON.parse(this.portlet.config);\r\n\r\n    let type =\r\n      this.config &&\r\n      this.config.pvtableChartSetting &&\r\n      this.config.pvtableChartSetting.chartSettings\r\n        ? this.config.pvtableChartSetting.chartSettings.chartSeries.type\r\n        : null;\r\n    if (type && type === \"Stacked Column\") {\r\n      type = \"StackingColumn\";\r\n    }\r\n    this.initChartSetting(type);\r\n\r\n    if (this.config.fields) {\r\n      this.configFields = JSON.parse(JSON.stringify(this.config.fields));\r\n    }\r\n\r\n    this.Pivot_Data = this.dashboardPorletsService.getResultByDataTable(\r\n      this.portlet,\r\n      false,\r\n      false,\r\n      this.dashboard.id\r\n    );\r\n\r\n    this.orderByColumns = this.dashboardPorletsService.getOrderByColumnsNew(\r\n      this.portlet.figureCode,\r\n      this.dashboard\r\n    );\r\n\r\n    // this.Pivot_Data = DataUtil.parse.parseJson(this.Pivot_Data);\r\n    if (this.Pivot_Data && this.Pivot_Data.length > 0) {\r\n      this.getexcludeFields(this.configFields, this.Pivot_Data[0]);\r\n      if (!this.allowedCalculatedFields.length) {\r\n        this.allowedCalculatedFields = Object.keys(this.Pivot_Data[0]);\r\n      }\r\n      for (let item of this.configFields) {\r\n        fieldMapping.push({\r\n          name: item.colName,\r\n          caption: item.addtionName\r\n            ? `${item.langValue} ${item.addtionName}`\r\n            : item.langValue,\r\n          dataType: item.dataType,\r\n        });\r\n      }\r\n    }\r\n    if (this.configFields) {\r\n      this.percentNumFields = [];\r\n      this.formatDates = [];\r\n      this.zeroFormatData.hgList = [];\r\n      this.zeroFormatData.emptyList = [];\r\n      this.millionFields = [];\r\n      this.configFields.map((el) => {\r\n        // SMP2-2486 & percentNum的format问题\r\n        if (el.dataType == \"percentNum\") {\r\n          this.percentNumFields.push(el.colName);\r\n        }\r\n        if (\r\n          el.format &&\r\n          el.format.length &&\r\n          el.format[0].formatChecked &&\r\n          [2, 5, 8, 11, 14, 17].includes(el.format[0].selectedFormat)\r\n        )\r\n          this.zeroFormatData.hgList.push(el.colName);\r\n        if (\r\n          el.format &&\r\n          el.format.length &&\r\n          el.format[0].formatChecked &&\r\n          [3, 6, 9, 12, 15, 18].includes(el.format[0].selectedFormat)\r\n        )\r\n          this.zeroFormatData.emptyList.push(el.colName);\r\n        if (\r\n          el.format &&\r\n          el.format.length &&\r\n          el.format[0].formatChecked &&\r\n          [10, 11, 12, 13, 14, 15, 16, 17, 18].includes(\r\n            el.format[0].selectedFormat\r\n          )\r\n        )\r\n          this.millionFields.push(el.colName);\r\n        if (\r\n          el.dataType === \"number\" &&\r\n          (!el.format ||\r\n            (el.format && el.format.length && !el.format[0].formatChecked))\r\n        ) {\r\n          const formatData = {\r\n            name: el.colName,\r\n            //SMP2-3026 and SMP2-3059\r\n            format:\r\n              el.colName !== \"PortInvStk\" && el.colName !== \"PortFdInvStk\"\r\n                ? this.dashboardPorletsService.formatNumber(el.dp)\r\n                : \"##0.#######0\",\r\n            useGrouping: true,\r\n          };\r\n          formatSettings.push(formatData);\r\n        }\r\n        if (\r\n          (el.dataType === \"percent\" || el.dataType === \"percentNum\") &&\r\n          (!el.format ||\r\n            (el.format && el.format.length && !el.format[0].formatChecked))\r\n        ) {\r\n          const formatData = {\r\n            name: el.colName,\r\n            format: this.dashboardPorletsService.formatPercent(el.dp),\r\n          };\r\n          formatSettings.push(formatData);\r\n        }\r\n        if (\r\n          el.dataType === \"multiple\" &&\r\n          (!el.format ||\r\n            (el.format && el.format.length && !el.format[0].formatChecked))\r\n        ) {\r\n          const formatData = {\r\n            name: el.colName,\r\n            format: this.dashboardPorletsService.formatMultiple(el.dp),\r\n          };\r\n          formatSettings.push(formatData);\r\n        }\r\n        if (el.dataType === \"datetime\" || el.dataType === \"date\") {\r\n          let format = \"\";\r\n          if (el.format && el.format.length && el.format[0].formatChecked) {\r\n            if (el.format[0].dateType == \"Quarter\") {\r\n              let format_ = el.format[0].selectedFormatDisplay;\r\n              let formatInfo = this.quarterFormat.filter(\r\n                (qur) => qur.value == format_\r\n              );\r\n              if (formatInfo.length) {\r\n                format = formatInfo[0].format;\r\n              } else {\r\n                const formatData = {\r\n                  name: el.colName,\r\n                  format: format_,\r\n                  type: \"date\",\r\n                };\r\n                this.formatDates.push(formatData);\r\n              }\r\n            } else if (el.format[0].dateType == \"Date\") {\r\n              let fromIdx = el.format[0].selectedFormatDisplay.indexOf(\"(\");\r\n              let toIdx = el.format[0].selectedFormatDisplay.indexOf(\")\");\r\n              let format_ = el.format[0].selectedFormatDisplay.slice(\r\n                fromIdx + 1,\r\n                toIdx\r\n              );\r\n              switch (format_) {\r\n                case \"DD/MM/YYYY\":\r\n                  format = \"dd/MM/yyyy\";\r\n                  break;\r\n                case \"DD/MM/YY\":\r\n                  format = \"dd/MM/yy\";\r\n                  break;\r\n                case \"MM/DD/YYYY\":\r\n                  format = \"MM/dd/yyyy\";\r\n                  break;\r\n                case \"MM/DD/YY\":\r\n                  format = \"MM/dd/yy\";\r\n                  break;\r\n                case \"YYYY-MM-DD\":\r\n                  format = \"yyyy-MM-dd\";\r\n                  break;\r\n                case \"YY-MM-DD\":\r\n                  format = \"yy-MM-dd\";\r\n                  break;\r\n                case \"DD-MM-YYYY\":\r\n                  format = \"dd-MM-yyyy\";\r\n                  break;\r\n                case \"DD-MM-YY\":\r\n                  format = \"dd-MM-yy\";\r\n                  break;\r\n                case \"MM-DD-YYYY\":\r\n                  format = \"MM-dd-yyyy\";\r\n                  break;\r\n                case \"MM-DD-YY\":\r\n                  format = \"MM-dd-yy\";\r\n                  break;\r\n                case \"MMM DD, YYYY\":\r\n                  format = \"MMM dd, yyyy\";\r\n                  break;\r\n                case \"DD-MMM-YYYY\":\r\n                  format = \"dd-MMM-yyyy\";\r\n                  break;\r\n                default:\r\n                  break;\r\n              }\r\n            }\r\n          }\r\n          if (!format) {\r\n            const formatData = {\r\n              name: el.colName,\r\n              format: this.datePipeFormat,\r\n              type: \"date\",\r\n            };\r\n            formatSettings.push(formatData);\r\n          } else {\r\n            const formatData = {\r\n              name: el.colName,\r\n              format: format,\r\n              type: \"date\",\r\n            };\r\n            formatSettings.push(formatData);\r\n          }\r\n        }\r\n      });\r\n    }\r\n    //calculatedFieldSettings format push to formatSettings\r\n    if (\r\n      this.config.calculatedFieldSettings &&\r\n      this.config.calculatedFieldSettings.length > 0\r\n    ) {\r\n      this.config.calculatedFieldSettings.map((el) => {\r\n        if (el.formatString !== \"\") {\r\n          formatSettings.push({\r\n            name: el.name,\r\n            format: el.formatString,\r\n          });\r\n        }\r\n      });\r\n    }\r\n    let series = this.config.yaxis.series;\r\n    if (series) {\r\n      for (let item of series) {\r\n        const value = {\r\n          name: item.colName,\r\n          caption: item.title,\r\n          type: item.calMethod,\r\n        };\r\n        values.push(value);\r\n      }\r\n    }\r\n    let groups = this.config.xaxis.groups;\r\n    if (groups) {\r\n      for (let gitem of groups) {\r\n        const field = this.configFields.filter(\r\n          (el) => el.colName === gitem.name\r\n        );\r\n        if (field.length > 0) {\r\n          gitem.showSubTotals = field[0].showSubTotals;\r\n        }\r\n        rows.push(gitem);\r\n      }\r\n    }\r\n    if (this.config.columnGroup && this.config.columnGroup.length) {\r\n      for (let item of this.config.columnGroup) {\r\n        const field = this.configFields.filter(\r\n          (el) => el.colName === item.name\r\n        );\r\n        if (field.length > 0) {\r\n          item.showSubTotals = field[0].showSubTotals;\r\n        }\r\n        columns.push(item);\r\n      }\r\n    }\r\n    let conditionalFormatSettings = [];\r\n    this.configFields.forEach((field) => {\r\n      if (field.format && field.format.length) {\r\n        if (field.format[0].fontSettingChecked) {\r\n          let conditionalFormatObj = {\r\n            applyGrandTotals: true,\r\n            measure: \"\",\r\n            value1: null,\r\n            value2: null,\r\n            conditions: \"\",\r\n            style: {\r\n              backgroundColor: \"\",\r\n              color: \"\",\r\n              fontFamily: \"\",\r\n              fontSize: \"\",\r\n            },\r\n          };\r\n          let negaConditionalFormatObj = {\r\n            applyGrandTotals: true,\r\n            measure: \"\",\r\n            value1: null,\r\n            value2: null,\r\n            conditions: \"\",\r\n            style: {\r\n              backgroundColor: \"\",\r\n              color: \"\",\r\n              fontFamily: \"\",\r\n              fontSize: \"\",\r\n            },\r\n          };\r\n          // font setting start\r\n          negaConditionalFormatObj.measure = field.format[0].selectedField;\r\n          conditionalFormatObj.measure = field.format[0].selectedField;\r\n\r\n          if (field.format[0].formatChecked && field.format[0].compareSelect) {\r\n            this.setCompareConditional(\r\n              negaConditionalFormatObj,\r\n              conditionalFormatObj,\r\n              field.format[0]\r\n            );\r\n          } else {\r\n            delete conditionalFormatObj.value2;\r\n            delete negaConditionalFormatObj.value2;\r\n            negaConditionalFormatObj.value1 = 0;\r\n            negaConditionalFormatObj.conditions = \"LessThan\";\r\n            conditionalFormatObj.value1 = 0;\r\n            conditionalFormatObj.conditions = \"GreaterThan\";\r\n            this.setFontSettingConditional(\r\n              negaConditionalFormatObj,\r\n              field.format[0],\r\n              -1\r\n            );\r\n            this.setFontSettingConditional(\r\n              conditionalFormatObj,\r\n              field.format[0],\r\n              1\r\n            );\r\n          }\r\n          conditionalFormatSettings.push(negaConditionalFormatObj);\r\n          conditionalFormatSettings.unshift(conditionalFormatObj);\r\n          // font setting end\r\n        }\r\n        let formatSettingsObj = {\r\n          name: \"\",\r\n          format: \"\",\r\n        };\r\n        if (field.format[0].formatChecked) {\r\n          formatSettingsObj.name = field.format[0].selectedField;\r\n          formatSettingsObj.format =\r\n            this.dashboardPorletsService.pivotTableformatNumber(\r\n              field.format[0].selectedFormat\r\n            );\r\n          switch (field.format[0].dataType) {\r\n            case \"number\":\r\n              formatSettingsObj.format =\r\n                this.dashboardPorletsService.pivotTableformatNumber(\r\n                  field.format[0].selectedFormat\r\n                );\r\n              break;\r\n            case \"integer\":\r\n              formatSettingsObj.format =\r\n                this.dashboardPorletsService.pivotTableformatInteger(\r\n                  field.format[0].selectedFormat\r\n                );\r\n              break;\r\n            case \"percentNum\":\r\n            case \"percent\":\r\n              formatSettingsObj.format =\r\n                this.dashboardPorletsService.pivotTableformatPercent(\r\n                  field.format[0].selectedFormat\r\n                );\r\n              break;\r\n            case \"multiple\":\r\n              formatSettingsObj.format =\r\n                this.dashboardPorletsService.pivotTableformatMultiple(\r\n                  field.format[0].selectedFormat\r\n                );\r\n              break;\r\n            case \"date\":\r\n            case \"datetime\":\r\n              let format = \"\";\r\n              if (field.format && field.format.length) {\r\n                if (field.format[0].dateType == \"Quarter\") {\r\n                  format = field.format[0].selectedFormatDisplay;\r\n                } else if (field.format[0].dateType == \"Date\") {\r\n                  let fromIdx =\r\n                    field.format[0].selectedFormatDisplay.indexOf(\"(\");\r\n                  let toIdx =\r\n                    field.format[0].selectedFormatDisplay.indexOf(\")\");\r\n                  format = field.format[0].selectedFormatDisplay.slice(\r\n                    fromIdx + 1,\r\n                    toIdx\r\n                  );\r\n                }\r\n              }\r\n              if (format) {\r\n                formatSettingsObj = {\r\n                  name: field.colName,\r\n                  format: \"\",\r\n                };\r\n                // field.dataType = \"string\";\r\n              } else {\r\n                formatSettingsObj.format = this.datePipeFormat;\r\n                formatSettingsObj[\"type\"] = \"date\";\r\n              }\r\n              break;\r\n            default:\r\n              break;\r\n          }\r\n        }\r\n        if (field.format[0].dataType !== \"string\" && formatSettingsObj.format) {\r\n          formatSettings.push(formatSettingsObj);\r\n        }\r\n      }\r\n    });\r\n    this.customCalculatedFields = this.config.customCalculatedFields\r\n      ? this.config.customCalculatedFields\r\n      : [];\r\n\r\n    // SMP2-4582 AGIC - Dashboard item sequence\r\n    let isExistSeq = false;\r\n    let sortSettings = this.config.sortSettings || [];\r\n    if (\r\n      this.Pivot_Data &&\r\n      this.Pivot_Data[0] &&\r\n      this.Pivot_Data[0].Seq !== null\r\n    ) {\r\n      // 取消Name的默认排序，根据Seq来排序\r\n      sortSettings.push({ name: \"Name\", order: \"None\" });\r\n      isExistSeq = true;\r\n    }\r\n    let filterSettings = this.dashboardPorletsService.checkFilterSettings(\r\n      this.config,\r\n      this.configFields,\r\n      this.Pivot_Data\r\n    );\r\n    let nameFilter = filterSettings.find((x) => x.name === \"Name\");\r\n    // 存在 Name的filter时，会按照默认排序，需要对Name进行Seq排序处理\r\n    if (isExistSeq && nameFilter && rows.some((x) => x.name === \"Name\")) {\r\n      let items = nameFilter.items; // 拿到当前排序，默认A-Z\r\n      let seqArr = [];\r\n      items.forEach((name) => {\r\n        let obj = this.Pivot_Data.find((x) => x.Name === name);\r\n        let item: any = {\r\n          name: name,\r\n          seq: obj.Seq,\r\n        };\r\n        seqArr.push(item);\r\n      });\r\n      seqArr.sort((a, b) => a.seq - b.seq);\r\n      nameFilter.items = seqArr.map((x) => x.name);\r\n    }\r\n    let hasItemDataType = false;\r\n    if (this.Pivot_Data) {\r\n      this.Pivot_Data.map((data) => {\r\n        if (data[\"AccountTypeCode\"]) {\r\n          hasItemDataType = true;\r\n        }\r\n        rows.forEach((row) => {\r\n          if (data[row.name] === \"\") {\r\n            data[row.name] = \"null\";\r\n          }\r\n        });\r\n      });\r\n    }\r\n    if (hasItemDataType) {\r\n      sortSettings.push({\r\n        name: \"AccountTypeCode\",\r\n        order: \"Ascending\",\r\n        membersOrder: [...this.itemDataTypeSortArr],\r\n      });\r\n    }\r\n    const dateField = [];\r\n    fieldMapping.forEach((field) => {\r\n      rows.forEach((row) => {\r\n        if (row.name === field.name && field.dataType === \"date\") {\r\n          dateField.push(field.name);\r\n        }\r\n      });\r\n    });\r\n    formatSettings = formatSettings.filter((item) => item.format);\r\n    if (dateField.length !== 0) {\r\n      this.Pivot_Data.forEach((data) => {\r\n        dateField.forEach((field) => {\r\n          if (data[field]) {\r\n            const date = this.pbf.setUTCtoString(data[field]);\r\n            const utcMoment = moment(date);\r\n            data[field] = new Date(\r\n              utcMoment.year(),\r\n              utcMoment.month(),\r\n              utcMoment.date()\r\n            );\r\n          }\r\n        });\r\n      });\r\n    }\r\n    this.dataSourceSettings = {\r\n      dataSource: this.Pivot_Data,\r\n      rows: rows,\r\n      columns: columns,\r\n      values: values,\r\n      filters: this.config.filters,\r\n      filterSettings: filterSettings,\r\n      excludeFields: this.excludeFields,\r\n      formatSettings: formatSettings,\r\n      conditionalFormatSettings: conditionalFormatSettings,\r\n      expandAll: true,\r\n      enableSorting: true,\r\n      fieldMapping: fieldMapping,\r\n      calculatedFieldSettings: this.config.calculatedFieldSettings,\r\n      sortSettings: sortSettings,\r\n      valueSortSettings: this.config.valueSortSettings,\r\n      showGrandTotals: false,\r\n      showRowGrandTotals: false,\r\n      showColumnGrandTotals: false,\r\n      // 新版本问题\r\n      // showSubTotals 为false时: showRowSubTotals,showColumnSubTotals任意为true Excel导出就爆炸格式错误\r\n      // showSubTotals 为true时: showRowSubTotals,showColumnSubTotals任意为false Excel导出就爆炸格式错误\r\n      showSubTotals: false,\r\n      showRowSubTotals: false,\r\n      showColumnSubTotals: false,\r\n    };\r\n    // console.log(\"this.dataSourceSettings:\", this.dataSourceSettings);\r\n    if (this.pivotObj) this.pivotObj.refreshData();\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  public afterPopulate(args: EnginePopulatedEventArgs): void {\r\n    this.tempSubtotals = [];\r\n    this.grandTotals = {};\r\n    this.subTotals = {};\r\n    let tempshowArray = [];\r\n    this.config.yaxis.series.forEach((item) => {\r\n      if (\r\n        item.hasOwnProperty(\"showSubTotals\") &&\r\n        item.hasOwnProperty(\"showGrandTotals\")\r\n      ) {\r\n        tempshowArray.push({\r\n          name: item.colName,\r\n          calMethod: item.calMethod,\r\n          showSubTotals: item.showSubTotals,\r\n          showGrandTotals: item.showGrandTotals,\r\n        });\r\n      } else {\r\n        if (item.hasOwnProperty(\"showGrandTotals\")) {\r\n          tempshowArray.push({\r\n            name: item.colName,\r\n            calMethod: item.calMethod,\r\n            showGrandTotals: item.showGrandTotals,\r\n          });\r\n        }\r\n        if (item.hasOwnProperty(\"showSubTotals\")) {\r\n          tempshowArray.push({\r\n            name: item.colName,\r\n            calMethod: item.calMethod,\r\n            showSubTotals: item.showSubTotals,\r\n          });\r\n        }\r\n      }\r\n    });\r\n\r\n    if (this.fieldlistObj && this.pivotObj) {\r\n      this.config.columnGroup = [];\r\n      this.config.xaxis.groups = [];\r\n      this.config.yaxis.series = [];\r\n      this.config.filters = [];\r\n      this.config.filterSettings = [];\r\n      this.config.calculatedFieldSettings = [];\r\n      let groupSettings = this.getDataSourceSettingsProp(\r\n        this.fieldlistObj,\r\n        \"groupSettings\"\r\n      );\r\n      let columns = this.getDataSourceSettingsProp(\r\n        this.fieldlistObj,\r\n        \"columns\"\r\n      );\r\n      let rows = this.getDataSourceSettingsProp(this.fieldlistObj, \"rows\");\r\n      let filters = this.getDataSourceSettingsProp(\r\n        this.fieldlistObj,\r\n        \"filters\"\r\n      );\r\n      let filterSettings = this.getDataSourceSettingsProp(\r\n        this.fieldlistObj,\r\n        \"filterSettings\"\r\n      );\r\n      let values = this.getDataSourceSettingsProp(this.fieldlistObj, \"values\");\r\n      let sortSettings = this.getDataSourceSettingsProp(\r\n        this.fieldlistObj,\r\n        \"sortSettings\"\r\n      );\r\n      let calculatedFieldSettings = this.getDataSourceSettingsProp(\r\n        this.fieldlistObj,\r\n        \"calculatedFieldSettings\"\r\n      );\r\n      if (groupSettings.length === 0) {\r\n        for (let column of columns) {\r\n          this.config.columnGroup.push({\r\n            name: column.name,\r\n            caption: column.caption,\r\n          });\r\n        }\r\n      } else {\r\n        //If there is a group, first filter the columns of the group field, and then only save the last one\r\n        for (let column of columns) {\r\n          if (!startsWith(column.name, groupSettings[0].name + \"_\")) {\r\n            this.config.columnGroup.push({\r\n              name: column.name,\r\n              caption:\r\n                column.name === groupSettings[0].name ? \"\" : column.caption,\r\n            });\r\n          }\r\n        }\r\n      }\r\n      for (let row of rows) {\r\n        this.config.xaxis.groups.push({\r\n          name: row.name,\r\n          caption: row.caption,\r\n        });\r\n      }\r\n      for (let filter of filters) {\r\n        this.config.filters.push({\r\n          name: filter.name,\r\n          caption: filter.caption,\r\n        });\r\n      }\r\n      if (this.filterSettings && this.filterSettings.length > 0) {\r\n        args.dataSourceSettings.filterSettings = this.filterSettings;\r\n        this.config.filterSettings = this.filterSettings;\r\n        delete this.filterSettings;\r\n      } else {\r\n        this.config.filterSettings = filterSettings;\r\n      }\r\n      for (let value of values) {\r\n        let seriesData;\r\n        let tempShowObj;\r\n        let filterTempshowArray = [];\r\n        if (tempshowArray.length) {\r\n          filterTempshowArray = tempshowArray.filter(\r\n            (item) => item.name === value.name && item.calMethod === value.type\r\n          );\r\n          if (filterTempshowArray.length) {\r\n            tempShowObj = filterTempshowArray[0];\r\n            if (\r\n              tempShowObj.hasOwnProperty(\"showSubTotals\") &&\r\n              tempShowObj.hasOwnProperty(\"showGrandTotals\")\r\n            ) {\r\n              seriesData = {\r\n                colName: value.name,\r\n                calMethod: value.type,\r\n                title: value.caption,\r\n                showSubTotals: tempShowObj.showSubTotals,\r\n                showGrandTotals: tempShowObj.showGrandTotals,\r\n              };\r\n            } else {\r\n              if (tempShowObj.hasOwnProperty(\"showGrandTotals\")) {\r\n                seriesData = {\r\n                  colName: value.name,\r\n                  calMethod: value.type,\r\n                  title: value.caption,\r\n                  showGrandTotals: tempShowObj.showGrandTotals,\r\n                };\r\n              }\r\n              if (tempShowObj.hasOwnProperty(\"showSubTotals\")) {\r\n                seriesData = {\r\n                  colName: value.name,\r\n                  calMethod: value.type,\r\n                  title: value.caption,\r\n                  showSubTotals: tempShowObj.showSubTotals,\r\n                };\r\n              }\r\n            }\r\n          }\r\n        }\r\n        if (!seriesData) {\r\n          seriesData = {\r\n            colName: value.name,\r\n            title: value.caption,\r\n            calMethod: value.type,\r\n          };\r\n        }\r\n        this.config.yaxis.series.push(seriesData);\r\n      }\r\n      for (let calculate of calculatedFieldSettings) {\r\n        const calculateData = {\r\n          name: calculate.name,\r\n          formula: calculate.formula,\r\n          formatString:\r\n            calculate.formatString === \"\" ? \"N2\" : calculate.formatString,\r\n        };\r\n        this.config.calculatedFieldSettings.push(calculateData);\r\n      }\r\n      this.config.customCalculatedFields = this.customCalculatedFields;\r\n      this.config.sortSettings = sortSettings;\r\n      this.config.groupSettings = groupSettings;\r\n      this.fieldlistObj.updateView(this.pivotObj);\r\n    }\r\n    this.portlet.config = JSON.stringify(this.config);\r\n    //remove the sort\r\n    if (this.pivotObj.dataSourceSettings.sortSettings.length > 0) {\r\n      this.previousSort = this.fieldlistObj.lastSortInfo;\r\n      (this.fieldlistObj as any).lastSortInfo = [];\r\n    }\r\n  }\r\n\r\n  public afterEnginePopulate(args: any) {\r\n    if (!Browser.isDevice && this.fieldlistObj && this.pivotObj) {\r\n      this.config.groupSettings = this.getDataSourceSettingsProp(\r\n        this.pivotObj,\r\n        \"groupSettings\"\r\n      );\r\n      // this.portlet.config = JSON.stringify(this.config);\r\n      if (this.fieldlistObj) this.fieldlistObj.update(this.pivotObj);\r\n    }\r\n    if (this.Pivot_Data && this.Pivot_Data.length) {\r\n      setTimeout(() => {\r\n        this.enginePopulated(args);\r\n      }, 1500);\r\n    }\r\n  }\r\n\r\n  private getDataSourceSettingsProp(obj, key) {\r\n    let prop = null;\r\n    if (obj && obj.dataSourceSettings) {\r\n      prop = obj.dataSourceSettings[key];\r\n      if (\r\n        Object.prototype.toString.call(prop) === \"[object Array]\" &&\r\n        prop.length > 0\r\n      ) {\r\n        prop = prop.map((item) => item.properties || item);\r\n      }\r\n    }\r\n    return prop;\r\n  }\r\n\r\n  public enginePopulating(args) {\r\n    this.grandTotals = {};\r\n    this.subTotals = {};\r\n    this.allDataValue = [];\r\n    if (args.dataSourceSettings.sortSettings.length) {\r\n      for (let i = 0; i < args.dataSourceSettings.sortSettings.length; i++) {\r\n        if (\r\n          this.fieldlistObj.lastSortInfo &&\r\n          this.fieldlistObj.lastSortInfo.name ===\r\n            args.dataSourceSettings.sortSettings[i].name &&\r\n          this.fieldlistObj.lastSortInfo.order === \"Ascending\" &&\r\n          !(\r\n            this.fieldlistObj.lastSortInfo.name === this.previousSort.name &&\r\n            this.previousSort.order === \"None\"\r\n          )\r\n        ) {\r\n          args.dataSourceSettings.sortSettings[i].order = \"None\";\r\n        } else if (\r\n          this.previousSort &&\r\n          this.fieldlistObj.lastSortInfo &&\r\n          this.fieldlistObj.lastSortInfo.name === this.previousSort.name &&\r\n          this.previousSort.order === \"Ascending\"\r\n        ) {\r\n          args.dataSourceSettings.sortSettings[i].order = \"Ascending\";\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  public cellClick(args) {\r\n    // 清除排序\r\n    if (\r\n      this.pivotObj.dataSourceSettings.valueSortSettings.sortOrder &&\r\n      this.pivotObj.dataSourceSettings.valueSortSettings.headerText &&\r\n      this.pivotObj.dataSourceSettings.valueSortSettings.sortOrder ===\r\n        \"Descending\" &&\r\n      args.data.valueSort &&\r\n      this.pivotObj.dataSourceSettings.valueSortSettings.headerText ===\r\n        args.data.valueSort.levelName\r\n    ) {\r\n      this.pivotObj.setProperties(\r\n        {\r\n          dataSourceSettings: {\r\n            valueSortSettings: {\r\n              sortOrder: \"Descending\",\r\n              headerText: \"\",\r\n            },\r\n          },\r\n        },\r\n        true\r\n      );\r\n      if (this.pivotObj) this.pivotObj.refreshData();\r\n      this.config.valueSortSettings = {};\r\n      this.portlet.config = JSON.stringify(this.config);\r\n    }\r\n  }\r\n\r\n  public dataBound(e) {\r\n    if (this.isInit) {\r\n      this.isInit = false;\r\n    }\r\n    this.grandTotals = {};\r\n    this.subTotals = {};\r\n    if (this.pivotObj.grid) {\r\n      this.pivotObj.grid.resizeStop = this.resizeStop.bind(this);\r\n    }\r\n    if (\r\n      this.fieldlistObj &&\r\n      this.fieldlistObj.pivotButtonModule &&\r\n      this.fieldlistObj.pivotButtonModule.menuOption\r\n    ) {\r\n      (\r\n        this.fieldlistObj.pivotButtonModule.menuOption as any\r\n      ).stringAggregateTypes = [\"Count\", \"DistinctCount\", \"First\", \"Last\"];\r\n    }\r\n    if (\r\n      this.pivotObj.pivotButtonModule &&\r\n      this.pivotObj.pivotButtonModule.menuOption\r\n    ) {\r\n      (this.pivotObj.pivotButtonModule.menuOption as any).stringAggregateTypes =\r\n        [\"Count\", \"DistinctCount\", \"First\", \"Last\"];\r\n    }\r\n    let allSummaryType = ALL_AGGREGATE_TYPES as any;\r\n    this.pivotObj.getAllSummaryType = () => allSummaryType;\r\n    if (this.fieldlistObj) {\r\n      this.fieldlistObj.aggregateTypes = allSummaryType;\r\n      this.fieldlistObj.getAllSummaryType = () => allSummaryType;\r\n    }\r\n    if (this.isDownloadCache) {\r\n      this.pbf.dashboardReadyDownload.next(this.portlet.newId);\r\n    }\r\n  }\r\n\r\n  private calculatedCellSets(args, curFields) {\r\n    let matchFields = curFields[\"matchFields\"];\r\n    let formula = curFields[\"formula\"];\r\n    let value = 0;\r\n    let rows = this.pivotObj.dataSourceSettings.rows;\r\n    let invalidTypes = [\"string\", \"nvarchar\", \"date\", \"datetime\"];\r\n    let isInvalid = matchFields.some((f) =>\r\n      invalidTypes.includes(\r\n        this.configFields.filter((el) => el.colName === f.matchWord)[0][\r\n          \"dataType\"\r\n        ]\r\n      )\r\n    );\r\n    let currentrowCellType = args.rowCellType;\r\n    if (isInvalid) return \"-\";\r\n    if (args.rowCellType === \"subTotal\" || args.rowCellType === \"grandTotal\") {\r\n      let childHeaders = [];\r\n      let sum = 0;\r\n      let cloneCellSets = cloneDeep(args.cellSets);\r\n      let groupNameArrays = [];\r\n      for (let index = args.row.level; index < rows.length; index++) {\r\n        groupNameArrays.push(rows[index].name);\r\n      }\r\n      for (let i = 0; i < cloneCellSets.length; i++) {\r\n        let values = [];\r\n        let header = groupNameArrays\r\n          .map((name) => {\r\n            values.push(cloneCellSets[i][name]);\r\n            return cloneCellSets[i][name];\r\n          })\r\n          .join(\"-\");\r\n        if (!(childHeaders as any).includes(header)) {\r\n          childHeaders.push(header);\r\n          let filterObj: any = {};\r\n          groupNameArrays.map((name, i) => (filterObj[name] = values[i]));\r\n          args.cellSets = _filter(cloneCellSets, filterObj);\r\n          args.rowCellType = \"value\";\r\n          sum += this.calculatedValues(args, matchFields, formula);\r\n        }\r\n      }\r\n      args.rowCellType = currentrowCellType;\r\n\r\n      // 暂存当前SubTotal， 用于收缩时读取\r\n      let prefixHeader = this.getCalcHeader(args, formula);\r\n      this.updateTempSubtotals(prefixHeader, sum);\r\n      return sum;\r\n    } else if (args.rowCellType === \"value\") {\r\n      if (args.row.hasChild) {\r\n        // collapse 读取SubTotal\r\n        let header = this.getCalcHeader(args, formula);\r\n        let index = this.tempSubtotals.findIndex(\r\n          (item) => item.rowName === header\r\n        );\r\n        if (index > -1) {\r\n          value = this.tempSubtotals[index].rowValue;\r\n        }\r\n      } else {\r\n        // expand\r\n        value = this.calculatedValues(args, matchFields, formula);\r\n      }\r\n    }\r\n    return value;\r\n  }\r\n\r\n  actionFailure(args: PivotActionFailureEventArgs): void {\r\n    if (args.actionName == \"Drill down\" || args.actionName == \"Drill up\") {\r\n      // Triggers when the current UI action fails to achieve the desired result.\r\n    }\r\n  }\r\n\r\n  private getCalcHeader(args, formula?) {\r\n    let header = \"\";\r\n    let rows = this.pivotObj.dataSourceSettings.rows;\r\n    let groupNameArrays = [];\r\n    for (let index = 0; index < args.row.level; index++) {\r\n      groupNameArrays.push(rows[index].name);\r\n    }\r\n    header = groupNameArrays.length\r\n      ? groupNameArrays\r\n          .map((name) => {\r\n            return args.cellSets[0][name];\r\n          })\r\n          .join(\"-\") +\r\n        \"-\" +\r\n        args.row.actualText\r\n      : args.row.actualText;\r\n    if (formula) header += \"___\" + formula;\r\n    return header;\r\n  }\r\n\r\n  private updateTempSubtotals(rowName, rowValue) {\r\n    let index = this.tempSubtotals.findIndex(\r\n      (item) => item.rowName === rowName\r\n    );\r\n    let temp: any = {};\r\n    temp.rowName = rowName;\r\n    temp.rowValue = rowValue;\r\n    if (index > -1) {\r\n      this.tempSubtotals.splice(index, 1, temp);\r\n    } else {\r\n      this.tempSubtotals.push(temp);\r\n    }\r\n  }\r\n\r\n  private calculatedValues(args, matchFields, formula) {\r\n    if (matchFields.length) {\r\n      let calculedMatchFields = matchFields.map((f) => {\r\n        switch (f.matchMethod) {\r\n          case \"First\":\r\n          case \"Last\":\r\n            f.replaceValue = this.calculatedFistLast(\r\n              args,\r\n              f.matchMethod,\r\n              f.matchWord\r\n            );\r\n            break;\r\n          case \"Max\":\r\n            f.replaceValue = maxBy(args.cellSets, (o) =>\r\n              Number(o[f.matchWord])\r\n            )[f.matchWord];\r\n            break;\r\n          case \"Min\":\r\n            f.replaceValue = minBy(args.cellSets, (o) =>\r\n              Number(o[f.matchWord])\r\n            )[f.matchWord];\r\n            break;\r\n          case \"Sum\":\r\n            f.replaceValue = sumBy(args.cellSets, (o) =>\r\n              Number(o[f.matchWord])\r\n            );\r\n            // SMP2-4094 Unicorn - L3 Adjusted NAV value issues\r\n            f.replaceValue = f.replaceValue && f.replaceValue.toFixed(10);\r\n            break;\r\n          case \"Avg\":\r\n            f.replaceValue = meanBy(args.cellSets, (o) =>\r\n              Number(o[f.matchWord])\r\n            );\r\n            break;\r\n          default:\r\n            break;\r\n        }\r\n        return f;\r\n      });\r\n      let resultFormula = formula;\r\n      if (calculedMatchFields.length) {\r\n        for (let i = 0; i < calculedMatchFields.length; i++) {\r\n          resultFormula = resultFormula.replace(\r\n            calculedMatchFields[i].matchStr,\r\n            \"(\" + calculedMatchFields[i].replaceValue + \")\"\r\n          );\r\n        }\r\n      }\r\n      try {\r\n        let result = new Function(\r\n          \"return \" + resultFormula.replace(/[^-<>?:()\\d/*+.]/g, \"\")\r\n        )();\r\n        if (isNaN(result) || !isFinite(result)) {\r\n          return 0;\r\n        } else {\r\n          return result;\r\n        }\r\n      } catch (error) {\r\n        return NaN;\r\n      }\r\n    }\r\n    return 0;\r\n  }\r\n\r\n  private getIrrHeader(level, ele, type) {\r\n    if (type === \"row\") {\r\n      let curRows = this.getDataSourceSettingsProp(this.fieldlistObj, \"rows\");\r\n      let rowsArr = curRows.map((item) => item.name);\r\n\r\n      let headerArr = [];\r\n      let rowLevel = level;\r\n      for (let index = 0; index <= rowLevel; index++) {\r\n        headerArr.push(ele.Row[rowsArr[index]]);\r\n      }\r\n      return headerArr.join(\".\");\r\n    } else if (type === \"col\") {\r\n      let curCloumns = this.getDataSourceSettingsProp(\r\n        this.fieldlistObj,\r\n        \"columns\"\r\n      );\r\n      let colsArr = curCloumns.map((item) => item.name);\r\n\r\n      let headerArr = [];\r\n      let colLevel = level;\r\n      for (let index = 0; index <= colLevel; index++) {\r\n        headerArr.push(ele.Col[colsArr[index]]);\r\n      }\r\n      return headerArr.join(\".\");\r\n    }\r\n  }\r\n\r\n  totalFormatted = {};\r\n  public aggregateCellInfo(args) {\r\n    let asOfDate = this.pbf.time(this.dashboard.asOfDate);\r\n    // if calculated field\r\n    if (args.aggregateType == \"CalculatedField\") {\r\n      for (let i = 0; i < this.customCalculatedFields.length; i++) {\r\n        if (args.fieldName == this.customCalculatedFields[i].name) {\r\n          args.value = this.calculatedCellSets(\r\n            args,\r\n            this.customCalculatedFields[i]\r\n          );\r\n        }\r\n      }\r\n    }\r\n\r\n    if (\r\n      [\r\n        \"CalculateIRR\",\r\n        \"CalculateIRRBeforeCarried\",\r\n        \"CalculateIRRIRRDate\",\r\n        \"CalculateIRRDueDate\",\r\n        \"CalculateIRRMTD\",\r\n        \"CalculateIRRQTD\",\r\n        \"CalculateIRRYTD\",\r\n      ].includes(args.aggregateType)\r\n    ) {\r\n      let valueField;\r\n      let dateField;\r\n      let startDate;\r\n      let endDate;\r\n      switch (args.aggregateType) {\r\n        case \"CalculateIRR\":\r\n          valueField = \"IRRAdjValue\";\r\n          dateField = \"IRRDate\";\r\n          break;\r\n        case \"CalculateIRRMTD\":\r\n          startDate = moment(asOfDate).startOf(\"month\").format(\"YYYY-MM-DD\");\r\n          endDate = moment(asOfDate).format(\"YYYY-MM-DD\");\r\n          valueField = \"IRRAdjValue\";\r\n          dateField = \"IRRDate\";\r\n          break;\r\n        case \"CalculateIRRQTD\":\r\n          startDate = moment(asOfDate).startOf(\"quarter\").format(\"YYYY-MM-DD\");\r\n          endDate = moment(asOfDate).format(\"YYYY-MM-DD\");\r\n          valueField = \"IRRAdjValue\";\r\n          dateField = \"IRRDate\";\r\n          break;\r\n        case \"CalculateIRRYTD\":\r\n          startDate = moment(asOfDate).startOf(\"year\").format(\"YYYY-MM-DD\");\r\n          endDate = moment(asOfDate).format(\"YYYY-MM-DD\");\r\n          valueField = \"IRRAdjValue\";\r\n          dateField = \"IRRDate\";\r\n          break;\r\n        case \"CalculateIRRIRRDate\":\r\n          valueField = \"IRRAdjValue\";\r\n          dateField = \"CalculateIRRDate\";\r\n          break;\r\n        case \"CalculateIRRDueDate\":\r\n          valueField = \"IRRAdjValue\";\r\n          dateField = \"CalculateIRRDueDate\";\r\n          break;\r\n        case \"CalculateIRRBeforeCarried\":\r\n          valueField = \"IRRAdjValueBeforeCarry\";\r\n          dateField = \"IRRDate\";\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n      let NAVAdj = 0;\r\n      let values = [];\r\n      let beforeStartNAVAdj = 0; // 存储上一个阶段的NAVAdj总和\r\n      let beforeStartValues = []; // 存储上一个阶段的累计集合 (只是为了打印，没有实际用途)\r\n      let field = this.configFields.filter(\r\n        (el) =>\r\n          el.colName ===\r\n          this.dashboardPorletsService.getAggregateType(args.aggregateType)\r\n      );\r\n      for (let i = 0; i < args.cellSets.length; i++) {\r\n        const data = {\r\n          amount: args.cellSets[i][\"IRRAmount\"],\r\n          date:\r\n            this.pbf.time(args.cellSets[i][dateField]) === \"Invalid date\"\r\n              ? asOfDate\r\n              : this.pbf.time(args.cellSets[i][dateField]),\r\n        };\r\n        // SMP2-16920\r\n        // If IRR Date > Dashboard report date = Takes as of dashboard report date\r\n        if (\r\n          (args.aggregateType === \"CalculateIRRIRRDate\" ||\r\n            args.aggregateType === \"CalculateIRRDueDate\") &&\r\n          asOfDate < this.pbf.time(args.cellSets[i][dateField])\r\n        ) {\r\n          data.date = asOfDate;\r\n        }\r\n        NAVAdj += args.cellSets[i][valueField];\r\n        // SMP2-17219 MTD QTD YTD IRR\r\n        if (startDate && endDate) {\r\n          if (moment(data.date).isBefore(startDate)) {\r\n            data[valueField] = args.cellSets[i][valueField];\r\n            beforeStartValues.push(data);\r\n            beforeStartNAVAdj += data[valueField];\r\n          }\r\n          if (!moment(data.date).isBetween(startDate, endDate, null, \"[]\")) {\r\n            continue;\r\n          }\r\n        }\r\n        if (data.amount != 0) {\r\n          values.push(data);\r\n        }\r\n      }\r\n      if (NAVAdj > 0.0001 || NAVAdj < -0.0001) {\r\n        values.push({\r\n          amount: NAVAdj,\r\n          date: asOfDate,\r\n        });\r\n      }\r\n      let sortResult = sortBy(args.cellSets, \"IRRDate\");\r\n      values = sortBy(values, \"date\");\r\n      // 如果是MTD,QTD,YTD 则需要把当前阶段以前的所有数据进行汇总，加入计算\r\n      if (startDate && endDate) {\r\n        values.unshift({\r\n          amount: -beforeStartNAVAdj, // 开始的数据需要取反\r\n          date: this.pbf.time(startDate),\r\n        });\r\n      }\r\n      if (values.length > 0) {\r\n        // 处理特殊case, 只有累计为0, 且累计数据都为负数时，直接irr返回-1\r\n        let _IRR = this.getNegativeIrr(values, NAVAdj);\r\n        if (NAVAdj === 0 && typeof _IRR == \"number\") {\r\n          args.value = -1;\r\n        } else {\r\n          let xirr = this.excelCalculateXirr(values, {\r\n            NAVAdj,\r\n            IRRDate: sortResult[sortResult.length - 1].IRRDate,\r\n          });\r\n          args.value = xirr;\r\n        }\r\n      } else {\r\n        args.value = \"\";\r\n      }\r\n      if (\r\n        this.pivotObj.engineModule &&\r\n        this.pivotObj.engineModule.formatFields[args.fieldName]\r\n      ) {\r\n        delete this.pivotObj.engineModule.formatFields[args.fieldName];\r\n        this.pivotObj.engineModule.formatFields[args.fieldName] = {\r\n          name: args.fieldName,\r\n          format:\r\n            field.length > 0\r\n              ? field[0].format &&\r\n                field[0].format.length &&\r\n                field[0].format[0].formatChecked\r\n                ? this.dashboardPorletsService.pivotTableformatPercent(\r\n                    field[0].format[0].selectedFormat\r\n                  )\r\n                : this.dashboardPorletsService.formatPercent(field[0].dp)\r\n              : \"P2\",\r\n        };\r\n      }\r\n    }\r\n\r\n    //  SMP2-16520 TWR 月/季/年 && SMP2-16683 VAR\r\n    if (\r\n      [\r\n        \"CalculateTWRMTD\",\r\n        \"CalculateTWRQTD\",\r\n        \"CalculateTWRYTD\",\r\n        \"CalculateVARMTD_99\",\r\n        \"CalculateVARQTD_99\",\r\n        \"CalculateVARYTD_99\",\r\n        \"CalculateVARMTD_95\",\r\n        \"CalculateVARQTD_95\",\r\n        \"CalculateVARYTD_95\",\r\n      ].includes(args.aggregateType)\r\n    ) {\r\n      let valueField = \"IRRAdjValue\";\r\n      let dateField = \"IRRDate\";\r\n      let timeRange;\r\n      switch (args.aggregateType) {\r\n        case \"CalculateTWRMTD\":\r\n        case \"CalculateVARMTD_99\":\r\n        case \"CalculateVARMTD_95\":\r\n          timeRange = \"month\";\r\n          break;\r\n        case \"CalculateTWRQTD\":\r\n        case \"CalculateVARQTD_99\":\r\n        case \"CalculateVARQTD_95\":\r\n          timeRange = \"quarter\";\r\n          break;\r\n        case \"CalculateTWRYTD\":\r\n        case \"CalculateVARYTD_99\":\r\n        case \"CalculateVARYTD_95\":\r\n          timeRange = \"year\";\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n      let values = []; // 这个阶段的累计集合\r\n      let field = this.configFields.filter(\r\n        (el) =>\r\n          el.colName ===\r\n          this.dashboardPorletsService.getAggregateType(args.aggregateType)\r\n      );\r\n      for (let i = 0; i < args.cellSets.length; i++) {\r\n        const data = {\r\n          [valueField]: args.cellSets[i][valueField],\r\n          date:\r\n            this.pbf.time(args.cellSets[i][dateField]) === \"Invalid date\"\r\n              ? asOfDate\r\n              : this.pbf.time(args.cellSets[i][dateField]),\r\n        };\r\n        values.push(data);\r\n      }\r\n\r\n      // 如果asOfDate不是 本月/季度/年 的最后一天，都是截至 上个月/季度/年 的最后一天的数据去计算\r\n      let _asOfDate = moment(asOfDate);\r\n      // console.log(\"_asOfDate:\", _asOfDate);\r\n      let isEndOfPeriod = (unit) => {\r\n        return (\r\n          _asOfDate.format(\"YYYY-MM-DD\") ===\r\n          _asOfDate.endOf(unit).format(\"YYYY-MM-DD\")\r\n        );\r\n      };\r\n      let endDate = isEndOfPeriod(timeRange)\r\n        ? moment(asOfDate).format(\"YYYY-MM-DD\")\r\n        : moment(asOfDate)\r\n            .subtract(1, timeRange)\r\n            .endOf(timeRange)\r\n            .format(\"YYYY-MM-DD\");\r\n\r\n      // console.log(\"endDate:\", endDate);\r\n      values = values.filter((item) =>\r\n        moment(item.date).isSameOrBefore(endDate)\r\n      );\r\n      values = sortBy(values, \"date\");\r\n      // console.log(\"values:\", values);\r\n\r\n      if (values.length > 0) {\r\n        let result = this.getTimeRanges(values, endDate, timeRange, \"date\"); // 各个阶段的数据\r\n        let resultTotal = {}; // 各个阶段总和\r\n        for (const prop in result) {\r\n          resultTotal[prop] = result[prop].reduce((acc, cur) => {\r\n            return acc + (cur[valueField] || 0);\r\n          }, 0);\r\n        }\r\n        // console.log(\"result:\", result);\r\n        // console.log(\"resultTotal:\", resultTotal);\r\n\r\n        const cumulativeSum = {}; // 各个阶段累计和\r\n        let sum = 0;\r\n        for (const key of Object.keys(resultTotal)) {\r\n          sum += resultTotal[key];\r\n          cumulativeSum[`${key}`] = sum;\r\n        }\r\n        // console.log(\"cumulativeSum:\", cumulativeSum);\r\n\r\n        const keys = Object.keys(cumulativeSum);\r\n        let twrList = [];\r\n        // 遍历每两个阶段 计算TWR\r\n        for (let i = 0; i < keys.length - 1; i++) {\r\n          const key1 = keys[i];\r\n          const key2 = keys[i + 1];\r\n\r\n          // 计算两个阶段之间的递增量, 出数不能为0\r\n          if (cumulativeSum[key1] != 0) {\r\n            const increment = cumulativeSum[key2] - cumulativeSum[key1];\r\n            let twr = increment / cumulativeSum[key1];\r\n            twrList.push({\r\n              date: key2,\r\n              twr: twr,\r\n            });\r\n          }\r\n        }\r\n        // 计算Average TWR\r\n        // console.log(\"twrList:\", twrList);\r\n        let averageTWR = this.calculateGrowthRate(twrList.map((x) => x.twr));\r\n        // console.log(\"计算Average TWR:\", averageTWR);\r\n        if (\r\n          [\"CalculateTWRMTD\", \"CalculateTWRQTD\", \"CalculateTWRYTD\"].includes(\r\n            args.aggregateType\r\n          )\r\n        ) {\r\n          // SMP2-16520 TWR 月/季/年\r\n          args.value =\r\n            isNaN(averageTWR) || averageTWR == null\r\n              ? \"\"\r\n              : averageTWR.toFixed(4);\r\n        } else {\r\n          if (isNaN(averageTWR) || averageTWR == null) {\r\n            args.value = \"\";\r\n          } else {\r\n            // SMP2-16683 VAR 区分99%和95%\r\n            let ZScore = [\r\n              \"CalculateVARMTD_99\",\r\n              \"CalculateVARQTD_99\",\r\n              \"CalculateVARYTD_99\",\r\n            ].includes(args.aggregateType)\r\n              ? 2.33\r\n              : 1.65;\r\n            if (twrList.length < 2) {\r\n              args.value = \"\";\r\n            } else {\r\n              let SD = this.calculateStandardDeviation(\r\n                twrList.map((x) => x.twr)\r\n              );\r\n              // console.log(\"calculateStandardDeviation:\", SD);\r\n              let VAR = averageTWR - SD * ZScore;\r\n              args.value = VAR.toFixed(4);\r\n            }\r\n          }\r\n        }\r\n        // console.log(\"args.value:\", args.value);\r\n      }\r\n\r\n      if (\r\n        this.pivotObj.engineModule &&\r\n        this.pivotObj.engineModule.formatFields[args.fieldName]\r\n      ) {\r\n        delete this.pivotObj.engineModule.formatFields[args.fieldName];\r\n        this.pivotObj.engineModule.formatFields[args.fieldName] = {\r\n          name: args.fieldName,\r\n          format:\r\n            field.length > 0\r\n              ? field[0].format &&\r\n                field[0].format.length &&\r\n                field[0].format[0].formatChecked\r\n                ? this.dashboardPorletsService.pivotTableformatPercent(\r\n                    field[0].format[0].selectedFormat\r\n                  )\r\n                : this.dashboardPorletsService.formatPercent(field[0].dp)\r\n              : \"P2\",\r\n        };\r\n      }\r\n    }\r\n\r\n    //SMP2-2701\r\n    if (args.aggregateType === \"CalculateIRRActualAudited\") {\r\n      let NAVAdj = 0;\r\n      let values = [];\r\n      let field = this.configFields.filter(\r\n        (el) =>\r\n          el.colName ===\r\n          this.dashboardPorletsService.getAggregateType(args.aggregateType)\r\n      );\r\n      //SMP2-2713 only judge for this dataMart(GrossNet)\r\n      if (\r\n        this.portlet.figureCode === \"GrossNet\" ||\r\n        this.portlet.figureCode === \"CombinedInvestmentFundNCompanyCashflow\"\r\n      ) {\r\n        for (let i = 0; i < args.cellSets.length; i++) {\r\n          const data = {\r\n            amount: args.cellSets[i][\"IRRAmount\"],\r\n            date:\r\n              this.pbf.time(args.cellSets[i][\"IRRDate\"]) === \"Invalid date\"\r\n                ? asOfDate\r\n                : this.pbf.time(args.cellSets[i][\"IRRDate\"]),\r\n          };\r\n          NAVAdj += args.cellSets[i][\"ActualAuditedNAV\"];\r\n          if (data.amount != 0) {\r\n            values.push(data);\r\n          }\r\n        }\r\n      }\r\n      //filter the data by the DataType(Actual Reported Audited)\r\n      else {\r\n        let argsdata = args.cellSets.filter(\r\n          (el) => el.DataType === \"ACTUAL_AUDITED\" || el.DataType === \"REPORTED\"\r\n        );\r\n        for (let i = 0; i < argsdata.length; i++) {\r\n          const data = {\r\n            amount: argsdata[i][\"IRRAmount\"],\r\n            date:\r\n              this.pbf.time(argsdata[i][\"IRRDate\"]) === \"Invalid date\"\r\n                ? asOfDate\r\n                : this.pbf.time(argsdata[i][\"IRRDate\"]),\r\n          };\r\n          NAVAdj += argsdata[i][\"IRRAdjValue\"];\r\n          if (data.amount != 0) {\r\n            values.push(data);\r\n          }\r\n        }\r\n      }\r\n      if (NAVAdj > 0.0001 || NAVAdj < -0.0001) {\r\n        values.push({\r\n          amount: NAVAdj,\r\n          date: asOfDate,\r\n        });\r\n      }\r\n      let sortResult = sortBy(args.cellSets, \"IRRDate\");\r\n      values = sortBy(values, \"date\");\r\n      if (values.length > 0) {\r\n        let _IRR = this.getNegativeIrr(values, NAVAdj);\r\n        if (NAVAdj === 0 && typeof _IRR == \"number\") {\r\n          args.value = -1;\r\n        } else {\r\n          let xirr = this.excelCalculateXirr(values, {\r\n            NAVAdj,\r\n            IRRDate: sortResult[sortResult.length - 1].IRRDate,\r\n          });\r\n          args.value = xirr;\r\n        }\r\n      } else {\r\n        args.value = 0;\r\n      }\r\n      if (\r\n        this.pivotObj.engineModule &&\r\n        this.pivotObj.engineModule.formatFields[args.fieldName]\r\n      ) {\r\n        delete this.pivotObj.engineModule.formatFields[args.fieldName];\r\n        this.pivotObj.engineModule.formatFields[args.fieldName] = {\r\n          name: args.fieldName,\r\n          format:\r\n            field.length > 0\r\n              ? field[0].format &&\r\n                field[0].format.length &&\r\n                field[0].format[0].formatChecked\r\n                ? this.dashboardPorletsService.pivotTableformatPercent(\r\n                    field[0].format[0].selectedFormat\r\n                  )\r\n                : this.dashboardPorletsService.formatPercent(field[0].dp)\r\n              : \"P2\",\r\n        };\r\n      }\r\n    }\r\n    //SMP2-3411\r\n    if (args.aggregateType === \"CalculateIRRReported\") {\r\n      let NAVAdj = 0;\r\n      let values = [];\r\n      let field = this.configFields.filter(\r\n        (el) =>\r\n          el.colName ===\r\n          this.dashboardPorletsService.getAggregateType(args.aggregateType)\r\n      );\r\n      if (\r\n        this.portlet.figureCode === \"GrossNet\" ||\r\n        this.portlet.figureCode === \"CombinedInvestmentFundNCompanyCashflow\"\r\n      ) {\r\n        for (let i = 0; i < args.cellSets.length; i++) {\r\n          const data = {\r\n            amount: args.cellSets[i][\"IRRAmount\"],\r\n            date:\r\n              this.pbf.time(args.cellSets[i][\"IRRDate\"]) === \"Invalid date\"\r\n                ? asOfDate\r\n                : this.pbf.time(args.cellSets[i][\"IRRDate\"]),\r\n          };\r\n          NAVAdj += args.cellSets[i][\"ReportedNAV\"];\r\n          if (data.amount != 0) {\r\n            values.push(data);\r\n          }\r\n        }\r\n      } else {\r\n        for (let i = 0; i < args.cellSets.length; i++) {\r\n          const data = {\r\n            amount: args.cellSets[i][\"IRRAmount\"],\r\n            date:\r\n              this.pbf.time(args.cellSets[i][\"IRRDate\"]) === \"Invalid date\"\r\n                ? asOfDate\r\n                : this.pbf.time(args.cellSets[i][\"IRRDate\"]),\r\n          };\r\n          NAVAdj += args.cellSets[i][\"IRRAdjValue\"];\r\n          if (data.amount != 0) {\r\n            values.push(data);\r\n          }\r\n        }\r\n      }\r\n      if (NAVAdj > 0.0001 || NAVAdj < -0.0001) {\r\n        values.push({\r\n          amount: NAVAdj,\r\n          date: asOfDate,\r\n        });\r\n      }\r\n      let sortResult = sortBy(args.cellSets, \"IRRDate\");\r\n      values = sortBy(values, \"date\");\r\n      if (values.length > 0) {\r\n        let _IRR = this.getNegativeIrr(values, NAVAdj);\r\n        if (NAVAdj === 0 && typeof _IRR == \"number\") {\r\n          args.value = -1;\r\n        } else {\r\n          let xirr = this.excelCalculateXirr(values, {\r\n            NAVAdj,\r\n            IRRDate: sortResult[sortResult.length - 1].IRRDate,\r\n          });\r\n          args.value = xirr;\r\n        }\r\n      } else {\r\n        args.value = 0;\r\n      }\r\n      if (\r\n        this.pivotObj.engineModule &&\r\n        this.pivotObj.engineModule.formatFields[args.fieldName]\r\n      ) {\r\n        delete this.pivotObj.engineModule.formatFields[args.fieldName];\r\n        this.pivotObj.engineModule.formatFields[args.fieldName] = {\r\n          name: args.fieldName,\r\n          format:\r\n            field.length > 0\r\n              ? field[0].format &&\r\n                field[0].format.length &&\r\n                field[0].format[0].formatChecked\r\n                ? this.dashboardPorletsService.pivotTableformatPercent(\r\n                    field[0].format[0].selectedFormat\r\n                  )\r\n                : this.dashboardPorletsService.formatPercent(field[0].dp)\r\n              : \"P2\",\r\n        };\r\n      }\r\n    }\r\n    if (\r\n      args.aggregateType === \"CalculateMultiple\" ||\r\n      args.aggregateType === \"CalculatePIC\" ||\r\n      args.aggregateType === \"CalculateDPI\" ||\r\n      args.aggregateType === \"CalculateTVPI\" ||\r\n      args.aggregateType === \"CalculateRVPI\" ||\r\n      args.aggregateType === \"CalculateMActualAudited\" ||\r\n      args.aggregateType === \"CalculateMReported\"\r\n    ) {\r\n      let totalNumerator = 0;\r\n      let totalDenominator = 0;\r\n      let numeratorName;\r\n      let denominatorName;\r\n      let field = this.configFields.filter(\r\n        (el) =>\r\n          el.colName ===\r\n          this.dashboardPorletsService.getAggregateType(args.aggregateType)\r\n      );\r\n      if (field.length > 0) {\r\n        const formulaArray = field[0].formula.split(\"/\");\r\n        numeratorName = formulaArray[0];\r\n        denominatorName = formulaArray[1];\r\n      }\r\n      for (let j = 0; j < args.cellSets.length; j++) {\r\n        totalNumerator += args.cellSets[j][numeratorName];\r\n        totalDenominator += args.cellSets[j][denominatorName];\r\n      }\r\n      if (totalDenominator !== 0) {\r\n        args.value = totalNumerator / totalDenominator;\r\n        if (\r\n          this.pivotObj.engineModule &&\r\n          this.pivotObj.engineModule.formatFields[args.fieldName]\r\n        ) {\r\n          delete this.pivotObj.engineModule.formatFields[args.fieldName];\r\n          this.pivotObj.engineModule.formatFields[args.fieldName] = {\r\n            name: args.fieldName,\r\n            format:\r\n              field.length > 0\r\n                ? field[0].format &&\r\n                  field[0].format.length &&\r\n                  field[0].format[0].formatChecked\r\n                  ? this.dashboardPorletsService.pivotTableformatMultiple(\r\n                      field[0].format[0].selectedFormat\r\n                    )\r\n                  : this.dashboardPorletsService.formatMultiple(field[0].dp)\r\n                : \"###0.00'x'\",\r\n          };\r\n        }\r\n      } else {\r\n        args.value = \"\";\r\n      }\r\n    }\r\n\r\n    if (args.aggregateType === \"First\" || args.aggregateType === \"Last\") {\r\n      args.value = this.calculatedFistLast(\r\n        args,\r\n        args.aggregateType,\r\n        args.fieldName\r\n      );\r\n    }\r\n\r\n    if (\r\n      args.aggregateType === \"Count\" ||\r\n      args.aggregateType === \"DistinctCount\"\r\n    ) {\r\n      if (args.value) {\r\n        args.value = args.value.toFixed(2);\r\n      }\r\n    }\r\n\r\n    if (\r\n      !args.value &&\r\n      args.value !== 0 &&\r\n      args.value !== false &&\r\n      args.value !== \"false\"\r\n    ) {\r\n      args.skipFormatting = true;\r\n      args.value = \"\";\r\n    }\r\n    // 新建pivot table, 还没有设置row, 选了column之后grandtotal会有值\r\n    if (\r\n      args.rowCellType === \"grandTotal\" &&\r\n      !this.pivotObj.dataSourceSettings.rows.length\r\n    ) {\r\n      args.value = \"\";\r\n    }\r\n    //SMP2-2889\r\n    if (args.rowCellType === \"subTotal\") {\r\n      const valueField_data = this.config.yaxis.series.filter(\r\n        (el) => el.colName === args.fieldName\r\n      );\r\n      if (valueField_data.length > 0) {\r\n        if (valueField_data[0].showSubTotals === false) {\r\n          args.value = \"\";\r\n          args.skipFormatting = true;\r\n        }\r\n      }\r\n    }\r\n    if (args.rowCellType === \"grandTotal\") {\r\n      const valueField_data = this.config.yaxis.series.filter(\r\n        (el) => el.colName === args.fieldName\r\n      );\r\n      if (valueField_data.length > 0) {\r\n        if (valueField_data[0].showGrandTotals === false) {\r\n          args.value = \"\";\r\n          args.skipFormatting = true;\r\n        }\r\n      }\r\n    }\r\n    // SMP2-3416 start\r\n    if (\r\n      this.zeroFormatData.hgList.includes(args.fieldName) &&\r\n      args.value === 0\r\n    ) {\r\n      args.value = \"-\";\r\n      args.skipFormatting = true;\r\n    }\r\n    if (\r\n      this.zeroFormatData.emptyList.includes(args.fieldName) &&\r\n      args.value === 0\r\n    ) {\r\n      args.value = \"\";\r\n      args.skipFormatting = true;\r\n    }\r\n    if (\r\n      this.millionFields.includes(args.fieldName) &&\r\n      !isNaN(Number(args.value)) &&\r\n      args.value !== 0 &&\r\n      args.value !== \"\" &&\r\n      args.value !== null\r\n    ) {\r\n      if (\r\n        args.columnCellType == \"grandTotal\" &&\r\n        args.rowCellType == \"grandTotal\"\r\n      ) {\r\n        if (!this.totalFormatted[args.fieldName]) {\r\n          this.totalFormatted[args.fieldName] = true;\r\n          args.value = args.value / 1000000;\r\n        }\r\n      } else {\r\n        args.value = args.value / 1000000;\r\n      }\r\n    }\r\n\r\n    // SMP2-2486 & percentNum的format问题\r\n    if (\r\n      this.percentNumFields.length &&\r\n      this.percentNumFields.includes(args.fieldName) &&\r\n      !isNaN(Number(args.value)) &&\r\n      args.value !== 0 &&\r\n      args.value !== \"\" &&\r\n      args.value !== null\r\n    ) {\r\n      if (\r\n        args.columnCellType == \"grandTotal\" &&\r\n        args.rowCellType == \"grandTotal\"\r\n      ) {\r\n        if (!this.totalFormatted[args.fieldName]) {\r\n          this.totalFormatted[args.fieldName] = true;\r\n          args.value = args.value / 100;\r\n        }\r\n      } else {\r\n        args.value = args.value / 100;\r\n      }\r\n    }\r\n    if (args.aggregateType == \"CalculatedField\" && !Number.isNaN(args.value)) {\r\n      args.value = Number(args.value).toFixed(2);\r\n    }\r\n    // SMP2-3416 end\r\n    this.ref.markForCheck();\r\n    this.ref.detectChanges();\r\n  }\r\n\r\n  excelCalculateXirr(values, lastObj) {\r\n    let xirr;\r\n    let guess = 0.1;\r\n    const sumAmount = values\r\n      .map((item) => item.amount)\r\n      .reduce((prev, curr) => prev + curr, 0);\r\n    if (sumAmount < 0) {\r\n      guess = -0.1;\r\n    }\r\n    //SMP2-2249 fixed the big irr issue\r\n    if (sumAmount === 0) {\r\n      xirr = 0;\r\n    } else {\r\n      const valueItems = values.slice(0, values.length - 1);\r\n      const valueList = valueItems.map((item) => item.amount);\r\n      const dateList = valueItems.map((item) => item.date);\r\n      const lastItem = values[values.length - 1];\r\n      const navAdjust = lastItem.amount;\r\n      const latestDate = lastItem.date;\r\n      let irr = this.dashboardPorletsService.ExcelFormulas._CalculateXirr(\r\n        valueList,\r\n        dateList,\r\n        navAdjust,\r\n        latestDate,\r\n        lastObj\r\n      );\r\n\r\n      xirr = irr === null ? \"\" : irr;\r\n    }\r\n    return xirr;\r\n  }\r\n\r\n  getNegativeIrr(values, NAVAdj) {\r\n    let valueList = values.map((item) => item.amount);\r\n    let positiveCashflow = valueList.some(function (v) {\r\n      return v > 0;\r\n    })\r\n      ? true\r\n      : NAVAdj > 0\r\n      ? true\r\n      : false;\r\n    let negativeCashflow = valueList.some(function (v) {\r\n      return v < 0;\r\n    })\r\n      ? true\r\n      : NAVAdj < 0\r\n      ? true\r\n      : false;\r\n\r\n    if (positiveCashflow == false && negativeCashflow == false) return 0;\r\n\r\n    if (positiveCashflow == false || negativeCashflow == false) {\r\n      if (NAVAdj === 0 && negativeCashflow) {\r\n        return -1;\r\n      } else {\r\n        return null;\r\n      }\r\n    }\r\n    return null;\r\n  }\r\n\r\n  private calculatedFistLast(args, aggregateType, fieldName) {\r\n    if (!args.row.actualText) args.row.actualText = args.row.formattedText;\r\n    if (!args.column.actualText)\r\n      args.column.actualText = args.column.formattedText;\r\n    let field = this.configFields.filter((el) => el.colName === fieldName)[0];\r\n\r\n    if (args.rowCellType === \"value\" && !args.row.hasChild) {\r\n      if (args.cellSets[0]) {\r\n        if (aggregateType === \"First\") {\r\n          for (\r\n            let firstIndex = 0;\r\n            firstIndex < args.cellSets.length;\r\n            firstIndex++\r\n          ) {\r\n            if (\r\n              this.pivotObj.dataSourceSettings.columns.length == 1 &&\r\n              args.columnCellType == \"grandTotal\"\r\n            ) {\r\n              if (\r\n                field.dataType == \"string\" ||\r\n                field.dataType == \"nvarchar\" ||\r\n                field.dataType == \"date\" ||\r\n                field.dataType == \"datetime\"\r\n              ) {\r\n                args.value = \"\";\r\n              } else {\r\n                if (this.allDataValue && this.allDataValue.length) {\r\n                  let rowObjs = this.allDataValue[args.row.rowIndex];\r\n                  if (rowObjs) {\r\n                    let rowObjsArr = JSON.parse(JSON.stringify(rowObjs));\r\n                    let obj = rowObjsArr.filter(\r\n                      (el) => el.actualText == fieldName && el.isGrandSum\r\n                    )[0];\r\n                    if (obj) args.value = obj.value;\r\n                  }\r\n                } else {\r\n                  args.value = isNaN(\r\n                    Number(\r\n                      this.grandTotals[\"row\" + args.row.actualText + fieldName]\r\n                    )\r\n                  )\r\n                    ? null\r\n                    : Number(\r\n                        this.grandTotals[\r\n                          \"row\" + args.row.actualText + fieldName\r\n                        ]\r\n                      );\r\n                }\r\n              }\r\n            } else {\r\n              args.value = args.cellSets[firstIndex][fieldName];\r\n            }\r\n            if (\r\n              field.dataType == \"number\" ||\r\n              field.dataType == \"multiple\" ||\r\n              field.dataType == \"percent\" ||\r\n              field.dataType == \"percentNum\"\r\n            ) {\r\n              if (args.value != null) break;\r\n            } else if (\r\n              field.dataType == \"date\" ||\r\n              field.dataType == \"datetime\"\r\n            ) {\r\n              if (this.pbf.time(args.value) > \"1900-01-01\") break;\r\n            } else if (args.value) break;\r\n          }\r\n        }\r\n        if (aggregateType === \"Last\") {\r\n          for (\r\n            let lastIndex = args.cellSets.length - 1;\r\n            lastIndex >= 0;\r\n            lastIndex--\r\n          ) {\r\n            if (\r\n              this.pivotObj.dataSourceSettings.columns.length == 1 &&\r\n              args.columnCellType == \"grandTotal\"\r\n            ) {\r\n              if (\r\n                field.dataType == \"string\" ||\r\n                field.dataType == \"nvarchar\" ||\r\n                field.dataType == \"date\" ||\r\n                field.dataType == \"datetime\"\r\n              ) {\r\n                args.value = \"\";\r\n              } else {\r\n                if (this.allDataValue && this.allDataValue.length) {\r\n                  let rowObjs = this.allDataValue[args.row.rowIndex];\r\n                  if (rowObjs) {\r\n                    let rowObjsArr = JSON.parse(JSON.stringify(rowObjs));\r\n                    let obj = rowObjsArr.filter(\r\n                      (el) => el.actualText == fieldName && el.isGrandSum\r\n                    )[0];\r\n                    if (obj) args.value = obj.value;\r\n                  }\r\n                } else {\r\n                  args.value = isNaN(\r\n                    Number(\r\n                      this.grandTotals[\"row\" + args.row.actualText + fieldName]\r\n                    )\r\n                  )\r\n                    ? null\r\n                    : Number(\r\n                        this.grandTotals[\r\n                          \"row\" + args.row.actualText + fieldName\r\n                        ]\r\n                      );\r\n                }\r\n              }\r\n            } else {\r\n              args.value = args.cellSets[lastIndex][fieldName];\r\n            }\r\n\r\n            if (\r\n              field.dataType == \"number\" ||\r\n              field.dataType == \"multiple\" ||\r\n              field.dataType == \"percent\" ||\r\n              field.dataType == \"percentNum\"\r\n            ) {\r\n              if (args.value != null) break;\r\n            } else if (\r\n              field.dataType == \"date\" ||\r\n              field.dataType == \"datetime\"\r\n            ) {\r\n              if (this.pbf.time(args.value) > \"1900-01-01\") break;\r\n            } else if (args.value) break;\r\n          }\r\n        }\r\n\r\n        if (\r\n          field.dataType == \"number\" ||\r\n          field.dataType == \"multiple\" ||\r\n          field.dataType == \"percent\" ||\r\n          field.dataType == \"percentNum\"\r\n        ) {\r\n          if (this.pivotObj.dataSourceSettings.rows.length) {\r\n            if (!this.pivotObj.dataSourceSettings.columns.length) {\r\n              if (\r\n                !Number(this.grandTotals[fieldName]) ||\r\n                isNaN(Number(this.grandTotals[fieldName]))\r\n              ) {\r\n                this.grandTotals[fieldName] = 0;\r\n              }\r\n              if (args.aggregateType !== \"CalculatedField\") {\r\n                this.grandTotals[fieldName] += Number(args.value);\r\n              }\r\n            } else if (this.pivotObj.dataSourceSettings.columns.length == 1) {\r\n              // \"row\" + args.row.actualText + fieldName 表示(cell: args.rowCellType === \"value\" && args.columnCellType === \"grandTotal\")\r\n              if (\r\n                !Number(\r\n                  this.grandTotals[\"row\" + args.row.actualText + fieldName]\r\n                ) ||\r\n                isNaN(\r\n                  Number(\r\n                    this.grandTotals[\"row\" + args.row.actualText + fieldName]\r\n                  )\r\n                )\r\n              ) {\r\n                this.grandTotals[\"row\" + args.row.actualText + fieldName] = 0;\r\n              }\r\n              this.grandTotals[\"row\" + args.row.actualText + fieldName] +=\r\n                Number(args.value);\r\n\r\n              // \"col\" + args.column.actualText + fieldName 表示(cell: args.rowCellType === \"grandTotal\" && args.columnCellType === \"value\")\r\n              if (\r\n                !Number(\r\n                  this.grandTotals[\"col\" + args.column.actualText + fieldName]\r\n                ) ||\r\n                isNaN(\r\n                  Number(\r\n                    this.grandTotals[\"col\" + args.column.actualText + fieldName]\r\n                  )\r\n                )\r\n              ) {\r\n                this.grandTotals[\r\n                  \"col\" + args.column.actualText + fieldName\r\n                ] = 0;\r\n              }\r\n              this.grandTotals[\"col\" + args.column.actualText + fieldName] +=\r\n                Number(args.value);\r\n            }\r\n          }\r\n        }\r\n      }\r\n    } else if (args.rowCellType === \"subTotal\" || args.row.hasChild) {\r\n      const dataType = field.dataType;\r\n      if (\r\n        dataType === \"string\" ||\r\n        dataType === \"nvarchar\" ||\r\n        dataType == \"date\" ||\r\n        dataType == \"datetime\"\r\n      ) {\r\n        args.value = \"\";\r\n      } else {\r\n        let value = 0;\r\n        let childHeaders = [];\r\n        if (aggregateType === \"First\") {\r\n          let groupNameArrays = [];\r\n          let rows = this.pivotObj.dataSourceSettings.rows;\r\n          for (let index = args.row.level; index < rows.length; index++) {\r\n            groupNameArrays.push(rows[index].name);\r\n          }\r\n          for (let i = 0; i < args.cellSets.length; i++) {\r\n            let values = [];\r\n            let header = groupNameArrays\r\n              .map((name) => {\r\n                values.push(args.cellSets[i][name]);\r\n                return args.cellSets[i][name];\r\n              })\r\n              .join(\"-\");\r\n            if (!(childHeaders as any).includes(header)) {\r\n              let filterObj: any = {};\r\n              groupNameArrays.map((name, x) => (filterObj[name] = values[x]));\r\n              let _CellSets = _filter(args.cellSets, filterObj);\r\n              childHeaders.push(header);\r\n              value += Number(_CellSets[0][fieldName]) || 0;\r\n            }\r\n          }\r\n        }\r\n        if (aggregateType === \"Last\") {\r\n          let groupNameArrays = [];\r\n          let rows = this.pivotObj.dataSourceSettings.rows;\r\n          for (let index = args.row.level; index < rows.length; index++) {\r\n            groupNameArrays.push(rows[index].name);\r\n          }\r\n          for (let i = args.cellSets.length - 1; i >= 0; i--) {\r\n            let values = [];\r\n            let header = groupNameArrays\r\n              .map((name) => {\r\n                values.push(args.cellSets[i][name]);\r\n                return args.cellSets[i][name];\r\n              })\r\n              .join(\"-\");\r\n            if (!(childHeaders as any).includes(header)) {\r\n              let filterObj: any = {};\r\n              groupNameArrays.map((name, x) => (filterObj[name] = values[x]));\r\n              let _CellSets = _filter(args.cellSets, filterObj);\r\n              childHeaders.push(header);\r\n              value += Number(_CellSets[_CellSets.length - 1][fieldName]) || 0;\r\n            }\r\n          }\r\n        }\r\n\r\n        if (args.column.actualText !== \"Grand Total\")\r\n          this.columnTexts.push(args.column.actualText);\r\n\r\n        if (!this.pivotObj.dataSourceSettings.columns.length) {\r\n          if (\r\n            !Number(this.subTotals[fieldName]) ||\r\n            isNaN(Number(this.subTotals[fieldName]))\r\n          ) {\r\n            this.subTotals[fieldName] = 0;\r\n          }\r\n          this.subTotals[fieldName] += Number(value);\r\n        } else if (this.pivotObj.dataSourceSettings.columns.length == 1) {\r\n          // \"row\" + args.row.actualText + fieldName 表示(cell: args.rowCellType === \"value\" && args.columnCellType === \"grandTotal\")\r\n          if (\r\n            !Number(\r\n              this.subTotals[\r\n                args.row.actualText + args.column.actualText + fieldName\r\n              ]\r\n            ) ||\r\n            isNaN(\r\n              Number(\r\n                this.subTotals[\r\n                  args.row.actualText + args.column.actualText + fieldName\r\n                ]\r\n              )\r\n            )\r\n          ) {\r\n            this.subTotals[\r\n              args.row.actualText + args.column.actualText + fieldName\r\n            ] = 0;\r\n          }\r\n          this.subTotals[\r\n            args.row.actualText + args.column.actualText + fieldName\r\n          ] += Number(value);\r\n        }\r\n        // ---> allDataValue中这个单元格的值不正确\r\n        if (\r\n          args.columnCellType === \"grandTotal\" &&\r\n          this.pivotObj.dataSourceSettings.columns.length == 1\r\n        ) {\r\n          if (this.allDataValue && this.allDataValue.length) {\r\n            args.value =\r\n              this.subTotals[args.row.actualText + \"Grand Total\" + fieldName];\r\n          } else {\r\n            // 把前边这个field的几列subtotal加起来\r\n            this.columnTexts = uniqBy(this.columnTexts, (el) => el);\r\n            let val = 0;\r\n            for (let i = 0; i < this.columnTexts.length; i++) {\r\n              const element = this.columnTexts[i];\r\n              val += this.subTotals[args.row.actualText + element + fieldName];\r\n            }\r\n            args.value = val;\r\n          }\r\n        } else {\r\n          args.value = value;\r\n        }\r\n      }\r\n    } else if (args.rowCellType === \"grandTotal\") {\r\n      const dataType = field.dataType;\r\n      if (\r\n        dataType == \"string\" ||\r\n        dataType == \"nvarchar\" ||\r\n        dataType == \"date\" ||\r\n        dataType == \"datetime\"\r\n      ) {\r\n        args.value = \"\";\r\n      } else {\r\n        if (!this.pivotObj.dataSourceSettings.columns.length) {\r\n          if (this.allDataValue && this.allDataValue.length) {\r\n            let rowObjs = this.allDataValue[this.allDataValue.length - 1];\r\n            if (rowObjs) {\r\n              let rowObjsArr = JSON.parse(JSON.stringify(rowObjs));\r\n              let objArr = rowObjsArr.filter(\r\n                (el) => el.actualText == fieldName && el.isGrandSum\r\n              );\r\n              if (objArr && objArr.length) {\r\n                args.value = objArr[objArr.length - 1].value;\r\n              } else if (Object.keys(this.grandTotals).includes(fieldName)) {\r\n                args.value = this.grandTotals[fieldName];\r\n              }\r\n            }\r\n          } else {\r\n            args.value = this.grandTotals[fieldName];\r\n          }\r\n        } else {\r\n          if (args.columnCellType === \"grandTotal\") {\r\n            if (this.allDataValue && this.allDataValue.length) {\r\n              let rowObjs = this.allDataValue[this.allDataValue.length - 1];\r\n              if (rowObjs) {\r\n                let rowObjsArr = JSON.parse(JSON.stringify(rowObjs));\r\n                let objArr = rowObjsArr.filter(\r\n                  (el) => el.actualText == fieldName && el.isGrandSum\r\n                );\r\n                if (objArr && objArr.length) {\r\n                  args.value = objArr[objArr.length - 1].value;\r\n                } else if (\r\n                  Object.keys(this.grandTotals).includes(\r\n                    \"col\" + args.column.actualText + fieldName\r\n                  )\r\n                ) {\r\n                  args.value =\r\n                    this.grandTotals[\r\n                      \"col\" + args.column.actualText + fieldName\r\n                    ];\r\n                }\r\n              }\r\n            } else {\r\n              args.value =\r\n                this.grandTotals[\"col\" + args.column.actualText + fieldName];\r\n            }\r\n          } else {\r\n            // if (\r\n            // \tthis.pivotObj.dataSourceSettings.columns.length == 1\r\n            // ) {\r\n            // \targs.value = this.grandTotals[\r\n            // \t\t\"col\" + args.column.actualText + fieldName\r\n            // \t];\r\n            // }\r\n            if (this.allDataValue && this.allDataValue.length) {\r\n              let rowObjs = this.allDataValue[this.allDataValue.length - 1];\r\n              let rowObjsArr = JSON.parse(JSON.stringify(rowObjs));\r\n              let objArr = rowObjsArr.filter(\r\n                (el) =>\r\n                  el.actualText == fieldName &&\r\n                  el.isGrandSum &&\r\n                  el.columnHeaders == args.column.actualText\r\n              );\r\n              if (objArr && objArr.length) {\r\n                args.value = objArr[objArr.length - 1].value;\r\n              } else if (\r\n                Object.keys(this.grandTotals).includes(\r\n                  \"col\" + args.column.actualText + fieldName\r\n                )\r\n              ) {\r\n                args.value =\r\n                  this.grandTotals[\"col\" + args.column.actualText + fieldName];\r\n              }\r\n            } else {\r\n              args.value =\r\n                this.grandTotals[\"col\" + args.column.actualText + fieldName];\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n    this.formatVal(args, fieldName);\r\n    return args.value;\r\n  }\r\n\r\n  private formatVal(args, fieldName) {\r\n    this.configFields.forEach((field) => {\r\n      if (field.colName == fieldName) {\r\n        switch (field.dataType) {\r\n          case \"date\":\r\n          case \"datetime\":\r\n            if (args.value) args.value = new Date(args.value);\r\n            break;\r\n          default:\r\n            break;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  private getexcludeFields(fields, data) {\r\n    let namearray = [];\r\n    let array = [];\r\n    for (let prop in data) {\r\n      array.push(prop);\r\n    }\r\n    for (let item of fields) {\r\n      namearray.push(item.colName);\r\n    }\r\n    this.excludeFields = differenceWith(array, namearray);\r\n    if (\r\n      this.excludeFields.length &&\r\n      this.config.groupSettings &&\r\n      this.config.groupSettings.length\r\n    ) {\r\n      for (let i = 0; i < this.excludeFields.length; i++) {\r\n        const el = this.excludeFields[i];\r\n        if (startsWith(el, this.config.groupSettings[0].name + \"_\")) {\r\n          this.excludeFields.splice(i, 1);\r\n          i--;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  private getInfo() {\r\n    this.datePipeFormat = localStorage.getItem(\"datePipe\");\r\n    this.translation = JSON.parse(localStorage.getItem(\"translation\"));\r\n    L10n.load({\r\n      \"en-US\": {\r\n        pivotview: AGGREGATE_TYPES_TEXT,\r\n        pivotfieldlist: AGGREGATE_TYPES_TEXT,\r\n      },\r\n      zh: {\r\n        pivotview: AGGREGATE_TYPES_TEXT,\r\n        pivotfieldlist: AGGREGATE_TYPES_TEXT,\r\n      },\r\n      \"zh-Hant-HK\": {\r\n        pivotview: AGGREGATE_TYPES_TEXT,\r\n        pivotfieldlist: AGGREGATE_TYPES_TEXT,\r\n      },\r\n      ja: {\r\n        pivotview: AGGREGATE_TYPES_TEXT,\r\n        pivotfieldlist: AGGREGATE_TYPES_TEXT,\r\n      },\r\n      ko: {\r\n        pivotview: AGGREGATE_TYPES_TEXT,\r\n        pivotfieldlist: AGGREGATE_TYPES_TEXT,\r\n      },\r\n      fr: {\r\n        pivotview: AGGREGATE_TYPES_TEXT,\r\n        pivotfieldlist: AGGREGATE_TYPES_TEXT,\r\n      },\r\n    });\r\n  }\r\n\r\n  public onFieldDrop(args: FieldDropEventArgs) {\r\n    //change the calcualteField method use the corresponding calculate\r\n    const calcualteField = this.configFields.filter(\r\n      (el) => el.colName === args.fieldName && el.isCalculatedField\r\n    );\r\n    if (calcualteField.length > 0) {\r\n      args.dropField.type = this.dashboardPorletsService.getCalculateMethod(\r\n        calcualteField[0].colName\r\n      ) as any;\r\n      args.dropField.caption = args.dropField.caption\r\n        .replace(\"Calculate\", \"\")\r\n        .trim();\r\n    }\r\n    for (let i = 0; i < args.dataSourceSettings.filterSettings.length; i++) {\r\n      if (\r\n        args.dataSourceSettings.filterSettings[i].name === args.fieldName &&\r\n        args.dropAxis === \"\"\r\n      ) {\r\n        args.dataSourceSettings.filterSettings.splice(i, 1);\r\n        this.filterSettings = args.dataSourceSettings.filterSettings;\r\n        break;\r\n      }\r\n    }\r\n  }\r\n\r\n  private createButtonText(field, i, axis, valuePos) {\r\n    let buttonText: HTMLElement;\r\n    let aggregation: string;\r\n    let filterMem: string;\r\n    if (axis === \"filters\") {\r\n      filterMem = (this.fieldlistObj.pivotButtonModule as any).updateButtontext(\r\n        field[i].name\r\n      );\r\n    }\r\n    let engineModule = this.pivotObj.engineModule;\r\n    if (engineModule.fieldList[field[i].name] !== undefined) {\r\n      aggregation = engineModule.fieldList[field[i].name].aggregateType;\r\n      aggregation =\r\n        aggregation === \"Sum\"\r\n          ? engineModule.fieldList[field[i].name].type !== \"number\"\r\n            ? \"Count\"\r\n            : \"Sum\"\r\n          : aggregation;\r\n    }\r\n    let text: string = field[i].caption ? field[i].caption : field[i].name;\r\n    buttonText = createElement(\"span\", {\r\n      attrs: {\r\n        title:\r\n          axis === \"filters\"\r\n            ? text + \" (\" + filterMem + \")\"\r\n            : !this.pivotObj.dataSourceSettings.showAggregationOnValueField ||\r\n              axis !== \"values\" ||\r\n              aggregation === \"CalculatedField\"\r\n            ? text\r\n            : this.pivotObj.localeObj.getConstant(aggregation) +\r\n              \" \" +\r\n              this.pivotObj.localeObj.getConstant(\"of\") +\r\n              \" \" +\r\n              text,\r\n        tabindex: \"-1\",\r\n        \"aria-disabled\": \"false\",\r\n        oncontextmenu: \"return false;\",\r\n        \"data-type\": valuePos === i ? \"\" : aggregation,\r\n      },\r\n      className:\r\n        \"e-content\" +\r\n        \" \" +\r\n        (this.pivotObj.getModuleName() === \"pivotview\"\r\n          ? this.pivotObj.groupingBarSettings.allowDragAndDrop &&\r\n            field[i].allowDragAndDrop\r\n            ? \"\"\r\n            : \"e-disable-drag\"\r\n          : \"\"),\r\n      innerHTML:\r\n        axis === \"filters\"\r\n          ? text + \" (\" + filterMem + \")\"\r\n          : !this.pivotObj.dataSourceSettings.showAggregationOnValueField ||\r\n            axis !== \"values\" ||\r\n            aggregation === \"CalculatedField\"\r\n          ? text\r\n          : this.pivotObj.localeObj.getConstant(aggregation) +\r\n            \" \" +\r\n            this.pivotObj.localeObj.getConstant(\"of\") +\r\n            \" \" +\r\n            text,\r\n    });\r\n    return buttonText;\r\n  }\r\n\r\n  // Calculated field事件：创建\r\n  public calculatedFieldCreate(args: CalculatedFieldCreateEventArgs) {\r\n    if (\r\n      args.calculatedField.name !== \"\" &&\r\n      args.calculatedField.name.trim() !== \"\"\r\n    ) {\r\n      let index =\r\n        this.fieldlistObj.dataSourceSettings.calculatedFieldSettings.findIndex(\r\n          (el) => el.name === args.calculatedField.name\r\n        );\r\n      if (index !== -1) {\r\n        if (args.calculatedField.formatString === \"\") {\r\n          this.fieldlistObj.dataSourceSettings.calculatedFieldSettings[\r\n            index\r\n          ].formatString = \"N2\";\r\n        } else {\r\n          this.fieldlistObj.dataSourceSettings.calculatedFieldSettings[\r\n            index\r\n          ].formatString = args.calculatedField.formatString;\r\n        }\r\n      } else {\r\n        if (args.calculatedField.formatString === \"\") {\r\n          args.calculatedField.formatString = \"N2\";\r\n        }\r\n      }\r\n      // 移除重复\r\n      let fIndex = this.customCalculatedFields.findIndex(\r\n        (f) => f.name === args.calculatedField.name\r\n      );\r\n      if (fIndex > -1) {\r\n        this.customCalculatedFields.splice(fIndex, 1);\r\n      }\r\n      // 匹配运算符 First || Last\r\n      let formulaStr = args.calculatedField.formula;\r\n      let reg1 = /\"First\\((.+?)\\)\"/g;\r\n      let reg2 = /\"Last\\((.+?)\\)\"/g;\r\n      if (reg1.test(formulaStr) || reg2.test(formulaStr)) {\r\n        // 判断是否存在First || Last 表达式\r\n        let matchFirstFields = Array.from(\r\n          formulaStr[\"matchAll\"](/\"First\\((.+?)\\)\"/g),\r\n          (m) => {\r\n            return {\r\n              matchStr: m[0],\r\n              matchWord: m[1],\r\n              replaceValue: \"\",\r\n              matchMethod: \"First\",\r\n            };\r\n          }\r\n        );\r\n        let matchLastFields = Array.from(\r\n          formulaStr[\"matchAll\"](/\"Last\\((.+?)\\)\"/g),\r\n          (m) => {\r\n            return {\r\n              matchStr: m[0],\r\n              matchWord: m[1],\r\n              replaceValue: \"\",\r\n              matchMethod: \"Last\",\r\n            };\r\n          }\r\n        );\r\n        let matchMaxFields = Array.from(\r\n          formulaStr[\"matchAll\"](/\"Max\\((.+?)\\)\"/g),\r\n          (m) => {\r\n            return {\r\n              matchStr: m[0],\r\n              matchWord: m[1],\r\n              replaceValue: \"\",\r\n              matchMethod: \"Max\",\r\n            };\r\n          }\r\n        );\r\n        let matchMinFields = Array.from(\r\n          formulaStr[\"matchAll\"](/\"Min\\((.+?)\\)\"/g),\r\n          (m) => {\r\n            return {\r\n              matchStr: m[0],\r\n              matchWord: m[1],\r\n              replaceValue: \"\",\r\n              matchMethod: \"Min\",\r\n            };\r\n          }\r\n        );\r\n        let matchSumFields = Array.from(\r\n          formulaStr[\"matchAll\"](/\"Sum\\((.+?)\\)\"/g),\r\n          (m) => {\r\n            return {\r\n              matchStr: m[0],\r\n              matchWord: m[1],\r\n              replaceValue: \"\",\r\n              matchMethod: \"Sum\",\r\n            };\r\n          }\r\n        );\r\n        let matchAvgFields = Array.from(\r\n          formulaStr[\"matchAll\"](/\"Avg\\((.+?)\\)\"/g),\r\n          (m) => {\r\n            return {\r\n              matchStr: m[0],\r\n              matchWord: m[1],\r\n              replaceValue: \"\",\r\n              matchMethod: \"Avg\",\r\n            };\r\n          }\r\n        );\r\n        if (\r\n          matchFirstFields.every((x) =>\r\n            this.allowedCalculatedFields.includes(x.matchWord)\r\n          ) &&\r\n          matchLastFields.every((x) =>\r\n            this.allowedCalculatedFields.includes(x.matchWord)\r\n          )\r\n        ) {\r\n          // 判断First和Last表达式内的字段是否合法\r\n          this.customCalculatedFields.push({\r\n            name: args.calculatedField.name,\r\n            formula: args.calculatedField.formula,\r\n            matchFields: [\r\n              // @ts-ignore\r\n              ...matchFirstFields,\r\n              ...matchLastFields,\r\n              ...matchMaxFields,\r\n              ...matchMinFields,\r\n              ...matchSumFields,\r\n              ...matchAvgFields,\r\n            ],\r\n            grandTotal: 0,\r\n          });\r\n          let fieldName = (\r\n            formulaStr.split(\"First(\")[1] || formulaStr.split(\"Last(\")[1]\r\n          ).split(\")\")[0];\r\n          args.calculatedField.formula =\r\n            \"'\\\"\" + \"Sum(\" + fieldName + ')\"=' + formulaStr + \"'\";\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  // Calculated field事件：完成\r\n  public actionComplete(args) {\r\n    if (args.actionName == \"Field removed\") {\r\n      if (\r\n        args.fieldInfo &&\r\n        args.fieldInfo.fieldItem &&\r\n        args.fieldInfo.fieldItem.type == \"CalculatedField\"\r\n      ) {\r\n        let field = args.fieldInfo.fieldName;\r\n        // Remove the deleted calculated field from an stored array.\r\n        this.customCalculatedFields = this.customCalculatedFields.filter(\r\n          function (obj) {\r\n            return obj.name !== field;\r\n          }\r\n        );\r\n      }\r\n    }\r\n  }\r\n\r\n  // Calculated field事件：开始\r\n  public actionBegin(args) {\r\n    if (args.actionName === \"Edit calculated field\") {\r\n      for (let i = 0; i < this.customCalculatedFields.length; i++) {\r\n        if (\r\n          this.customCalculatedFields[i].name &&\r\n          this.pivotObj.engineModule.fieldList[\r\n            this.customCalculatedFields[i].name\r\n          ]\r\n        ) {\r\n          this.pivotObj.engineModule.fieldList[\r\n            this.customCalculatedFields[i].name\r\n          ].formula = this.customCalculatedFields[i].formula;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  private resizeStop(args) {\r\n    if (this.config.columnsWidth) {\r\n      const header_field = this.config.columnsWidth.filter(\r\n        (el) => el.headerText === args.column.headerText\r\n      );\r\n      if (header_field.length > 0) {\r\n        header_field[0].width = parseInt(args.column.width);\r\n      } else {\r\n        this.config.columnsWidth.push({\r\n          headerText: args.column.headerText,\r\n          width: parseInt(args.column.width),\r\n        });\r\n      }\r\n    } else {\r\n      this.config.columnsWidth = [];\r\n      this.config.columnsWidth.push({\r\n        headerText: args.column.headerText,\r\n        width: parseInt(args.column.width),\r\n      });\r\n    }\r\n    const portlet = this.portlet;\r\n    portlet.config = JSON.stringify(this.config);\r\n    const index = this.portlets.findIndex((x) => x.newId === portlet.newId);\r\n    if (index > -1) this.portlets[index] = portlet;\r\n  }\r\n\r\n  public onLoad(): void {}\r\n\r\n  private enginePopulated(args) {\r\n    let clonedValues: IPivotValues;\r\n    let currentPivotValues: any = this.getClonedPivotValues(\r\n      this.pivotObj.engineModule.pivotValues\r\n    );\r\n    let pageSettings: IPageSettings = this.pivotObj.engineModule.pageSettings;\r\n\r\n    // this.pivotObj.engineModule.pageSettings = null;\r\n    if (this.pivotObj.engineModule.generateGridData) {\r\n      this.pivotObj.engineModule.generateGridData(\r\n        this.pivotObj.dataSourceSettings,\r\n        true\r\n      );\r\n      clonedValues = this.getClonedPivotValues(\r\n        this.pivotObj.engineModule.pivotValues\r\n      );\r\n\r\n      this.pivotObj.engineModule.pivotValues = currentPivotValues;\r\n\r\n      this.pivotObj.engineModule.pageSettings = pageSettings;\r\n\r\n      // Here \"clonedValues\" contains the whole pivot values.\r\n      this.allDataValue = clonedValues;\r\n    }\r\n  }\r\n\r\n  private getClonedPivotValues(pivotValues: IPivotValues): IPivotValues {\r\n    let clonedSets: IPivotValues = [];\r\n    if (pivotValues && pivotValues.length) {\r\n      for (let i: number = 0; i < pivotValues.length; i++) {\r\n        if (pivotValues[i]) {\r\n          clonedSets[i] = [];\r\n          for (let j: number = 0; j < pivotValues[i].length; j++) {\r\n            if (pivotValues[i][j]) {\r\n              /* eslint-disable */\r\n              clonedSets[i][j] = this.getClonedPivotValueObj(\r\n                pivotValues[i][j] as { [key: string]: Object }\r\n              );\r\n              /* eslint-enable */\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n    return clonedSets;\r\n  }\r\n\r\n  private getClonedPivotValueObj(data: { [key: string]: Object }): {\r\n    [key: string]: Object;\r\n  } {\r\n    let keyPos: number = 0;\r\n    let framedSet: any = {};\r\n    if (!(data === null || data === undefined)) {\r\n      let fields: string[] = Object.keys(data);\r\n      while (keyPos < fields.length) {\r\n        framedSet[fields[keyPos]] = data[fields[keyPos]];\r\n        keyPos++;\r\n      }\r\n    } else {\r\n      framedSet = data;\r\n    }\r\n    return framedSet;\r\n  }\r\n\r\n  //#region Filtering the TreeNodes\r\n  private searchNodes(args) {\r\n    let _text = args.maskedValue;\r\n    let predicats = [],\r\n      _array = [],\r\n      _filter = [];\r\n    if (_text == \"\") {\r\n      this.changeDataSource(\r\n        ((this as any).fieldlistObj.treeViewModule as any).getTreeData()\r\n      );\r\n    } else {\r\n      let predicate = new Predicate(\"caption\", \"contains\", _text, true);\r\n      let filteredList = new DataManager(\r\n        ((this as any).fieldlistObj.treeViewModule as any).getTreeData()\r\n      ).executeLocal(new Query().where(predicate));\r\n      for (let j = 0; j < filteredList.length; j++) {\r\n        _filter.push(filteredList[j][\"id\"]);\r\n        let filters = this.getFilterItems(\r\n          filteredList[j],\r\n          ((this as any).fieldlistObj.treeViewModule as any).getTreeData()\r\n        );\r\n        for (let i = 0; i < filters.length; i++) {\r\n          if (_array.indexOf(filters[i]) == -1 && filters[i] != null) {\r\n            _array.push(filters[i]);\r\n            predicats.push(new Predicate(\"id\", \"equal\", filters[i], false));\r\n          }\r\n        }\r\n      }\r\n      if (predicats.length == 0) {\r\n        this.changeDataSource([]);\r\n      } else {\r\n        let query = new Query().where(Predicate.or(predicats));\r\n        let newList = new DataManager(\r\n          ((this as any).fieldlistObj.treeViewModule as any).getTreeData()\r\n        ).executeLocal(query);\r\n        this.changeDataSource(newList);\r\n      }\r\n    }\r\n  }\r\n\r\n  //Find the Parent Nodes for corresponding childs\r\n  public getFilterItems(fList, list) {\r\n    let nodes = [];\r\n    nodes.push(fList[\"id\"]);\r\n    let query2 = new Query().where(\"id\", \"equal\", fList[\"pid\"], false);\r\n    let fList1 = new DataManager(list).executeLocal(query2);\r\n    if (fList1.length != 0) {\r\n      let pNode = this.getFilterItems(fList1[0], list);\r\n      for (let i = 0; i < pNode.length; i++) {\r\n        if (nodes.indexOf(pNode[i]) == -1 && pNode[i] != null)\r\n          nodes.push(pNode[i]);\r\n      }\r\n      return nodes;\r\n    }\r\n    return nodes;\r\n  }\r\n\r\n  public created(args: any) {\r\n    if (this.fieldlistObj && !this.fieldlistObj.engineModule.fields) {\r\n      this.fieldlistObj.engineModule.fields = [];\r\n    }\r\n    let search = document.createElement(\"input\");\r\n    search.id = \"pivotSearchBox\" + this.fieldlistObj.element.id;\r\n    let el = document.querySelector(\r\n      \"#\" + this.fieldlistObj.element.id + \"_Container .e-field-table\"\r\n    );\r\n    if (el) el.prepend(search);\r\n    this.pivotSearchBox = new MaskedTextBox({\r\n      placeholder: this.translation.SEARCH || \".SEARCH\",\r\n      cssClass: \"pivot-search\",\r\n      change: this.searchNodes.bind(this),\r\n    });\r\n    this.pivotSearchBox.appendTo(\r\n      \"#pivotSearchBox\" + this.fieldlistObj.element.id\r\n    );\r\n\r\n    // NEW Dashboard 点击\"apply\"时，请求新数据\r\n    let applyBtn = document.getElementById(\r\n      this.fieldlistObj.element.id + \"_DeferUpdateButton1\"\r\n    );\r\n    applyBtn &&\r\n      applyBtn.addEventListener(\"click\", () => {\r\n        this.pbf.pageLoading = true;\r\n        this.dashboardPorletsService.getDataByPortletsNew(\r\n          [this.portlet],\r\n          () => {\r\n            this.getData();\r\n            setTimeout(() => {\r\n              this.pbf.pageLoading = false;\r\n            });\r\n          },\r\n          null,\r\n          false,\r\n          this.dashboard,\r\n          false\r\n        );\r\n      });\r\n  }\r\n\r\n  public fieldListRefreshed(args) {\r\n    if (this.pivotSearchBox) {\r\n      this.pivotSearchBox.value = \"\";\r\n      this.changeDataSource(\r\n        (this.fieldlistObj.treeViewModule as any).getTreeData()\r\n      );\r\n    }\r\n  }\r\n\r\n  private changeDataSource(data) {\r\n    let fieldTable = (this as any).fieldlistObj.treeViewModule.fieldTable;\r\n    if (fieldTable) {\r\n      fieldTable.fields = {\r\n        dataSource: data,\r\n        id: \"id\",\r\n        text: \"caption\",\r\n        isChecked: \"isSelected\",\r\n        parentID: \"pid\",\r\n        iconCss: \"spriteCssClass\",\r\n      };\r\n    }\r\n  }\r\n\r\n  //SMP2-2957 fix the date issue on the raw data\r\n  public drillThrough(args: DrillThroughEventArgs) {\r\n    for (let i = 0; i < args.gridColumns.length; i++) {\r\n      const data = this.configFields.filter(\r\n        (el) => el.colName === args.gridColumns[i].field\r\n      );\r\n      if (data && data.length > 0) {\r\n        if (data[0].dataType === \"date\" || data[0].dataType === \"datetime\") {\r\n          args.gridColumns[i].type = \"date\";\r\n        }\r\n      }\r\n    }\r\n  }\r\n  //#endregion\r\n\r\n  private setFontSettingConditional(obj, data, code) {\r\n    if (code === -1) {\r\n      obj.style.color = data.negaFontColor;\r\n      obj.style.fontFamily = data.negaFontFamilyValue;\r\n      obj.style.fontSize = data.negaFontSizeValue;\r\n      obj.style.backgroundColor = data.negaBackgroundColor;\r\n    } else {\r\n      obj.style.color = data.fontColor;\r\n      obj.style.fontFamily = data.fontFamilyValue;\r\n      obj.style.fontSize = data.fontSizeValue;\r\n      obj.style.backgroundColor = data.backgroundColor;\r\n    }\r\n  }\r\n\r\n  private setCompareConditional(\r\n    negaConditionalFormatObj,\r\n    conditionalFormatObj,\r\n    data\r\n  ) {\r\n    if (Math.sign(data.compareValue1) == 0) {\r\n      switch (data.compareSelect) {\r\n        case \"LessThan\": // 小于\r\n        case \"LessThanOrEqualTo\": // 小于等于\r\n          negaConditionalFormatObj.value1 = 0;\r\n          negaConditionalFormatObj.conditions = \"LessThan\";\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          break;\r\n        case \"GreaterThan\": // 大于\r\n        case \"GreaterThanOrEqualTo\": // 大于等于\r\n          conditionalFormatObj.value1 = 0;\r\n          conditionalFormatObj.conditions = \"GreaterThan\";\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          break;\r\n        case \"NotEquals\": // 不等于\r\n          negaConditionalFormatObj.value1 = 0;\r\n          negaConditionalFormatObj.conditions = \"LessThan\";\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          conditionalFormatObj.value1 = 0;\r\n          conditionalFormatObj.conditions = \"GreaterThan\";\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          break;\r\n        case \"Between\": // value1<= val <=value2\r\n          if (Math.sign(data.compareValue2) === 1) {\r\n            conditionalFormatObj.value1 = 0;\r\n            conditionalFormatObj.value2 = Number(data.compareValue2);\r\n            conditionalFormatObj.conditions = \"Between\";\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          }\r\n          break;\r\n        case \"NotBetween\": // val >= value2, val <= value1\r\n          if (Math.sign(data.compareValue2) === 1) {\r\n            conditionalFormatObj.value1 = Number(data.compareValue2);\r\n            conditionalFormatObj.conditions = \"GreaterThan\";\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n            negaConditionalFormatObj.value1 = 0;\r\n            negaConditionalFormatObj.conditions = \"LessThan\";\r\n            this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          }\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n    } else if (Math.sign(data.compareValue1) === 1) {\r\n      switch (data.compareSelect) {\r\n        case \"LessThan\": // 小于\r\n        case \"LessThanOrEqualTo\": // 小于等于\r\n          conditionalFormatObj.value1 = 0;\r\n          conditionalFormatObj.value2 = Number(data.compareValue1);\r\n          conditionalFormatObj.conditions = \"Between\";\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          negaConditionalFormatObj.value1 = 0;\r\n          negaConditionalFormatObj.conditions = \"LessThan\";\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          break;\r\n        case \"GreaterThan\": // 大于\r\n        case \"GreaterThanOrEqualTo\": // 大于等于\r\n          conditionalFormatObj.value1 = Number(data.compareValue1);\r\n          conditionalFormatObj.conditions = \"GreaterThan\";\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          break;\r\n        case \"Equals\": // 等于\r\n          conditionalFormatObj.value1 = Number(data.compareValue1);\r\n          conditionalFormatObj.conditions = \"Equals\";\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          break;\r\n        case \"NotEquals\": // 不等于\r\n          conditionalFormatObj.value1 = 0;\r\n          conditionalFormatObj.value2 = Number(data.compareValue1);\r\n          conditionalFormatObj.conditions = \"Between\";\r\n          // push进数组\r\n          conditionalFormatObj.value1 = Number(data.compareValue1);\r\n          conditionalFormatObj.conditions = \"GreaterThan\";\r\n          // push进数组\r\n\r\n          negaConditionalFormatObj.value1 = 0;\r\n          negaConditionalFormatObj.conditions = \"LessThanOrEqualTo\";\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          break;\r\n        case \"Between\": // value1<= val <=value2\r\n          if (Math.sign(data.compareValue2) === 1) {\r\n            conditionalFormatObj.value1 = Number(data.compareValue1);\r\n            conditionalFormatObj.value2 = Number(data.compareValue2);\r\n            conditionalFormatObj.conditions = \"Between\";\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          }\r\n          break;\r\n        case \"NotBetween\": // val >= value2, val <= value1\r\n          if (Math.sign(data.compareValue2) === 1) {\r\n            conditionalFormatObj.value1 = 0;\r\n            conditionalFormatObj.value2 = Number(data.compareValue1);\r\n            conditionalFormatObj.conditions = \"Between\";\r\n            // push进数组\r\n            conditionalFormatObj.value1 = Number(data.compareValue2);\r\n            conditionalFormatObj.conditions = \"GreaterThan\";\r\n            // push进数组\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          }\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n    } else if (Math.sign(data.compareValue1) === -1) {\r\n      switch (data.compareSelect) {\r\n        case \"LessThan\": // 小于\r\n        case \"LessThanOrEqualTo\": // 小于等于\r\n          negaConditionalFormatObj.value1 = data.compareValue1;\r\n          negaConditionalFormatObj.conditions = data.compareSelect;\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          break;\r\n        case \"GreaterThan\": // 大于\r\n        case \"GreaterThanOrEqualTo\": // 大于等于\r\n          conditionalFormatObj.value1 = 0;\r\n          conditionalFormatObj.conditions = \"GreaterThanOrEqualTo\";\r\n          negaConditionalFormatObj.value1 = 0;\r\n          negaConditionalFormatObj.value2 = data.compareValue1;\r\n          negaConditionalFormatObj.conditions = \"Between\";\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          break;\r\n        case \"Equals\": // 等于\r\n          negaConditionalFormatObj.value1 = data.compareValue1;\r\n          negaConditionalFormatObj.conditions = \"Equals\";\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n        case \"NotEquals\": // 不等于\r\n          negaConditionalFormatObj.value1 = data.compareValue1;\r\n          negaConditionalFormatObj.conditions = \"NotEquals\";\r\n          this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          conditionalFormatObj.value1 = 0;\r\n          conditionalFormatObj.conditions = \"GreaterThan\";\r\n          this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          break;\r\n        case \"Between\": // value1<= val <=value2\r\n          if (Math.sign(data.compareValue2)) {\r\n            negaConditionalFormatObj.value1 = 0;\r\n            negaConditionalFormatObj.value2 = data.compareValue1;\r\n            negaConditionalFormatObj.conditions = \"Between\";\r\n            this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n            conditionalFormatObj.value1 = 0;\r\n            conditionalFormatObj.value2 = data.compareValue2;\r\n            conditionalFormatObj.conditions = \"Between\";\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          } else {\r\n            negaConditionalFormatObj.value1 = data.compareValue1;\r\n            negaConditionalFormatObj.value2 = data.compareValue2;\r\n            negaConditionalFormatObj.conditions = \"Between\";\r\n            this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n          }\r\n          break;\r\n        case \"NotBetween\": // val >= value2, val <= value1\r\n          if (Math.sign(data.compareValue2)) {\r\n            negaConditionalFormatObj.value1 = data.compareValue1;\r\n            negaConditionalFormatObj.conditions = \"LessThan\";\r\n            this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n\r\n            conditionalFormatObj.value1 = data.compareValue2;\r\n            conditionalFormatObj.conditions = \"GreaterThan\";\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          } else {\r\n            negaConditionalFormatObj.value1 = data.compareValue1;\r\n            negaConditionalFormatObj.value2 = data.compareValue2;\r\n            negaConditionalFormatObj.conditions = \"NotBetween\";\r\n            this.setFontSettingConditional(negaConditionalFormatObj, data, -1);\r\n\r\n            conditionalFormatObj.value1 = 0;\r\n            conditionalFormatObj.conditions = \"GreaterThan\";\r\n            this.setFontSettingConditional(conditionalFormatObj, data, 1);\r\n          }\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n    }\r\n  }\r\n\r\n  /**\r\n   * @param timeArray 数组对象 [{\"date\":\"2021-01-01\"},{\"date\":\"2021-02-01\"}]\r\n   * @param endDate 截至时间\r\n   * @param interval 时间间隔 year / quarter / month\r\n   * @param timeKey 时间字段名 date\r\n   * @returns 划分后的时间分组对象\r\n   */\r\n  getTimeRanges(timeArray, endDate, interval, timeKey) {\r\n    // 将时间字符串转换为 moment 对象\r\n    const dates = timeArray.map((item) => moment(item[timeKey || \"date\"]));\r\n\r\n    // 分隔符\r\n    const delimiter = \"-\";\r\n\r\n    // 找到最小时间和最大时间\r\n    const minDate = moment.min(dates);\r\n    const maxDate = moment(endDate);\r\n\r\n    // 初始化结果对象\r\n    const result = {};\r\n\r\n    // 根据入参进行划分\r\n    if (interval === \"year\") {\r\n      const startYear = minDate.year();\r\n      const endYear = maxDate.year();\r\n\r\n      for (let year = startYear; year <= endYear; year++) {\r\n        result[year] = [];\r\n      }\r\n\r\n      dates.forEach((date, index) => {\r\n        const year = date.year();\r\n        result[year].push(timeArray[index]);\r\n      });\r\n    } else if (interval === \"quarter\") {\r\n      // 存储季度字符串\r\n      const quarters = [];\r\n\r\n      // 逐一遍历每个季度\r\n      for (\r\n        let currentDate = minDate.clone();\r\n        currentDate.isSameOrBefore(maxDate);\r\n        currentDate.add(3, \"months\")\r\n      ) {\r\n        const year = currentDate.year();\r\n        const quarter = Math.ceil((currentDate.month() + 1) / 3); // 计算季度\r\n        quarters.push(`${year}${delimiter}Q${quarter}`); // 格式化并添加到数组\r\n      }\r\n\r\n      // 输出所有季度\r\n      quarters.forEach((quarter, index) => {\r\n        result[quarter] = [];\r\n      });\r\n\r\n      dates.forEach((date, index) => {\r\n        const year = date.year();\r\n        const quarter = date.quarter(); // 获取季度\r\n        if (quarter === 1)\r\n          result[year + delimiter + \"Q1\"].push(timeArray[index]);\r\n        else if (quarter === 2)\r\n          result[year + delimiter + \"Q2\"].push(timeArray[index]);\r\n        else if (quarter === 3)\r\n          result[year + delimiter + \"Q3\"].push(timeArray[index]);\r\n        else if (quarter === 4)\r\n          result[year + delimiter + \"Q4\"].push(timeArray[index]);\r\n      });\r\n    } else if (interval === \"month\") {\r\n      // 存储月份字符串\r\n      const months = [];\r\n\r\n      // 逐一遍历每个月\r\n      for (\r\n        let currentDate = minDate.clone();\r\n        currentDate.isSameOrBefore(maxDate);\r\n        currentDate.add(1, \"months\")\r\n      ) {\r\n        months.push(currentDate.format(`YYYY${delimiter}MM`)); // 格式化并添加到数组\r\n      }\r\n\r\n      // 输出所有月份\r\n      months.forEach((month, index) => {\r\n        result[month] = [];\r\n      });\r\n\r\n      dates.forEach((date, index) => {\r\n        const year = date.year();\r\n        const month = (date.month() + 1).toString().padStart(2, \"0\"); // 0-11\r\n        result[year + delimiter + month].push(timeArray[index]);\r\n      });\r\n    }\r\n\r\n    return result;\r\n  }\r\n\r\n  /**\r\n   * 计算几何算数平方更\r\n   * @param values 数组 [0, 0, 0.2575]\r\n   * @returns\r\n   */\r\n  calculateGrowthRate(values) {\r\n    const product = values.reduce((acc, val) => acc * (1 + val), 1);\r\n    if (product >= 0) {\r\n      return Math.pow(product, 1 / values.length) - 1;\r\n    } else if (product < 0) {\r\n      if (values.length % 2 == 0) {\r\n        return null;\r\n      } else {\r\n        return this.nthroot(product, values.length) - 1;\r\n      }\r\n    }\r\n  }\r\n  nthroot(x, n) {\r\n    let ng = n % 2;\r\n    if (ng == 1 || x < 0) x = -x;\r\n    var r = Math.pow(x, 1 / n);\r\n    n = Math.pow(r, n);\r\n\r\n    if (Math.abs(x - n) < 1 && x > 0 === n > 0) return ng ? -r : r;\r\n  }\r\n\r\n  /**\r\n   * 标准偏差\r\n   * @param values 数组 [0, 0, -0.4775]\r\n   * @returns 0.2756847535380463\r\n   */\r\n  calculateStandardDeviation(values) {\r\n    const n = values.length;\r\n\r\n    // 检查数据点数量\r\n    if (n < 2) {\r\n      throw new Error(\"至少需要两个数据点来计算样本标准偏差\");\r\n    }\r\n\r\n    // 计算均值\r\n    const mean = values.reduce((acc, val) => acc + val, 0) / n;\r\n\r\n    // 计算方差\r\n    const variance =\r\n      values.reduce((acc, val) => acc + Math.pow(val - mean, 2), 0) / (n - 1);\r\n\r\n    // 返回标准偏差\r\n    return Math.sqrt(variance);\r\n  }\r\n}\r\n","<div class=\"control-section\" style=\"overflow: hidden; height: 100%\">\r\n\t<ejs-pivotview\r\n\t\twidth=\"100%\"\r\n\t\theight=\"100%\"\r\n\t\tstyle=\"display: block\"\r\n\t\t[dataSourceSettings]=\"dataSourceSettings\"\r\n\t\t#pivotview\r\n\t\t(dataBound)=\"dataBound($event)\"\r\n\t\tenableValueSorting=\"true\"\r\n\t\tallowConditionalFormatting=\"true\"\r\n\t\tallowExcelExport=\"true\"\r\n\t\tallowGrouping=\"true\"\r\n\t\t[zoomSettings]=\"zoomSettings\"\r\n\t\tenableVirtualization=\"true\"\r\n\t\t(aggregateCellInfo)=\"aggregateCellInfo($event)\"\r\n\t\t(cellClick)=\"cellClick($event)\"\r\n\t\tallowDrillThrough=\"true\"\r\n\t\t(actionFailure)=\"actionFailure($event)\"\r\n\t\t(fieldListRefreshed)=\"fieldListRefreshed($event)\"\r\n\t\t(drillThrough)=\"drillThrough($event)\"\r\n\t\t[chartSettings]=\"chartSettings\"\r\n\t\t(chartSeriesCreated)=\"chartSeriesCreated($event)\"\r\n\t\t[displayOption]=\"displayOption\"\r\n\t\t[showTooltip]=\"false\"\r\n\t\t(enginePopulated)=\"afterEnginePopulate($event)\"\r\n\t\t(beforeExport)=\"beforeExport($event)\"\r\n\t>\r\n\t</ejs-pivotview>\r\n\r\n\t<div class=\"pivotfieldlist-control\">\r\n\t\t<ejs-pivotfieldlist\r\n\t\t\t[id]=\"portlet.newId\"\r\n\t\t\t#pivotfieldlist\r\n\t\t\thidden=\"true\"\r\n\t\t\tenableValueSorting=\"true\"\r\n\t\t\tshowFieldList=\"true\"\r\n\t\t\tallowCalculatedField=\"true\"\r\n\t\t\tallowDeferLayoutUpdate=\"true\"\r\n\t\t\trenderMode=\"Popup\"\r\n\t\t\t(enginePopulated)=\"afterPopulate($event)\"\r\n\t\t\t(memberEditorOpen)=\"onMemberEditorOpen($event)\"\r\n\t\t\t(enginePopulating)=\"enginePopulating($event)\"\r\n\t\t\t(aggregateCellInfo)=\"aggregateCellInfo($event)\"\r\n\t\t\t(fieldDrop)=\"onFieldDrop($event)\"\r\n\t\t\t(actionComplete)=\"actionComplete($event)\"\r\n\t\t\t(actionBegin)=\"actionBegin($event)\"\r\n\t\t\t(calculatedFieldCreate)=\"calculatedFieldCreate($event)\"\r\n\t\t\t(load)=\"onLoad()\"\r\n\t\t\t(created)=\"created($event)\"\r\n\t\t>\r\n\t\t</ejs-pivotfieldlist>\r\n\t</div>\r\n\t<div class=\"full-box-mask\" *ngIf=\"pageLoading\">\r\n\t\t<mat-spinner\r\n\t\t\tstyle=\"z-index: 999\"\r\n\t\t\tmode=\"indeterminate\"\r\n\t\t\t[diameter]=\"24\"\r\n\t\t></mat-spinner>\r\n\t</div>\r\n</div>\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  Inject,\r\n  ViewChildren,\r\n  QueryList,\r\n  ChangeDetectorRef,\r\n} from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { DashboardPorletsService } from \"../../dashboardPorlets.service\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ApiList } from \"../../api\";\r\nimport {\r\n  ExcelExportProperties,\r\n  ColumnModel,\r\n} from \"@syncfusion/ej2-angular-grids\";\r\nimport { IAxisSet } from \"@syncfusion/ej2-angular-pivotview\";\r\nimport { find } from \"lodash\";\r\n\r\nimport { GadgetTableComponent } from \"../../gadget-group/gadget-table/gadget-table.component\";\r\nimport { GadgetPivotChartComponent } from \"../../gadget-group/gadget-pivot-chart/gadget-pivot.component\";\r\nimport { GadgetPivotComponent } from \"../../gadget-group/gadget-pivot/gadget-pivot.component\";\r\nimport { BarChartsComponent } from \"../../bar-charts/bar-charts.component\";\r\nimport { getTranslation } from \"../../../utils/utils\";\r\n\r\n@Component({\r\n  selector: \"rs-pane-download\",\r\n  templateUrl: \"./index.component.html\",\r\n  styleUrls: [\"./index.component.scss\"],\r\n})\r\nexport class PaneDownloadComponent implements OnInit {\r\n  translation;\r\n  @ViewChildren(\"dtable\")\r\n  public table: QueryList<GadgetTableComponent>;\r\n  @ViewChildren(\"dpivot\")\r\n  public pivot: QueryList<GadgetPivotComponent | GadgetPivotChartComponent>;\r\n  @ViewChildren(\"dnewChart\") newChart: QueryList<BarChartsComponent>;\r\n  portlets = [];\r\n\r\n  constructor(\r\n    @Inject(MAT_DIALOG_DATA)\r\n    public data: any = {\r\n      portlets: [],\r\n      dashboard: null,\r\n    },\r\n    public dialogRef: MatDialogRef<PaneDownloadComponent>,\r\n    private DashboardPorletsService: DashboardPorletsService,\r\n    private httpClient: HttpClient,\r\n    private api: ApiList,\r\n    private ref: ChangeDetectorRef\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.translation = getTranslation();\r\n    this.portlets = this.data.portlets.filter((item) => {\r\n      const type = this.getPortletType(item);\r\n      return type !== \"transpose\";\r\n    });\r\n  }\r\n\r\n  close() {\r\n    this.dialogRef.close();\r\n  }\r\n\r\n  async downloadAll() {\r\n    for (let portlet of this.portlets) {\r\n      await this.download(portlet);\r\n    }\r\n    setTimeout(() => {\r\n      this.close();\r\n    }, 200);\r\n  }\r\n\r\n  GetgadgetTitle(config) {\r\n    if (config && config !== \"null\") {\r\n      let config_ = JSON.parse(config);\r\n      return config_.gadgetTitle;\r\n    } else {\r\n      return \"\";\r\n    }\r\n  }\r\n\r\n  async download(item) {\r\n    return new Promise(async (resolve) => {\r\n      const portletType = this.getPortletType(item);\r\n      const title = this.GetgadgetTitle(item.config);\r\n      switch (portletType) {\r\n        case \"table\":\r\n          await this.downloadTable(item, title);\r\n          break;\r\n        case \"newchart\":\r\n        case \"pivot\":\r\n          const pivot = find(\r\n            (this.pivot as any)._results,\r\n            (el) => el.portlet.newId === item.newId\r\n          );\r\n          const excelExportProperties_pivot: ExcelExportProperties = {\r\n            fileName: title\r\n              ? title + \".xlsx\"\r\n              : \"Pivot-\" + new Date().toISOString() + \".xlsx\",\r\n          };\r\n          if (pivot.pivotObj.dataSourceSettings.formatSettings) {\r\n            pivot.pivotObj.dataSourceSettings.formatSettings.forEach(\r\n              (setting) => {\r\n                // syncfusion format transform to excel format\r\n                const map = {\r\n                  \"#,###,,.0;(#,###,,.0)\": '0.0,,\"\";(0.0,,)',\r\n                  '0.0,,\"\";(0.0,,)': \"#,###,,.0;(#,###,,.0)\",\r\n                  \"#,###,,;(#,###,,)\": '0,,\"\";(0,,)',\r\n                  '0,,\"\";(0,,)': \"#,###,,;(#,###,,)\",\r\n                  \"#,###,,.00;(#,###,,.00)\": '0.00,,\"\";(0.00,,)',\r\n                  '0.00,,\"\";(0.00,,)': \"#,###,,.00;(#,###,,.00)\",\r\n                };\r\n\r\n                if (map[setting.format]) {\r\n                  setting.format = map[setting.format];\r\n                  setTimeout(() => {\r\n                    setting.format = map[setting.format];\r\n                    this.ref.markForCheck();\r\n                    this.ref.detectChanges();\r\n                  });\r\n                }\r\n              }\r\n            );\r\n          }\r\n          this.updateFormat(\r\n            pivot.pivotObj.grid.columns as ColumnModel[],\r\n            pivot.pivotObj\r\n          );\r\n          pivot.pivotObj.excelExport(excelExportProperties_pivot);\r\n          break;\r\n        case \"newcolumn\":\r\n        case \"newline\":\r\n        case \"newcolumnline\":\r\n          const chartIdx = this.getChartIndexInAll(item);\r\n          const selectedComponent = this.newChart.toArray()[chartIdx];\r\n          selectedComponent.exportChart();\r\n          break;\r\n      }\r\n      resolve(true);\r\n    });\r\n  }\r\n\r\n  // 根据idx获取点击图表在图表列表里的真正顺序\r\n  getChartIndexInAll(item) {\r\n    const charArr = this.portlets.filter((e) => {\r\n      return [\"newcolumn\", \"newline\", \"newcolumnline\"].includes(\r\n        JSON.parse(e.config).portletType\r\n      );\r\n    });\r\n    let resultIdx = 0;\r\n    if (charArr.length > 0) {\r\n      charArr.forEach((e, idx) => {\r\n        if (e.newId == item.newId) {\r\n          resultIdx = idx;\r\n        }\r\n      });\r\n    }\r\n    return resultIdx;\r\n  }\r\n\r\n  public downloadTable(item, title) {\r\n    // Table 下载全部数据\r\n    let config = JSON.parse(item.config);\r\n    let pageSetting = Object.assign(\r\n      {\r\n        currentPage: 1,\r\n        pageSize: 9999999,\r\n      },\r\n      config && config.tableSortSetting\r\n    );\r\n    let params = this.DashboardPorletsService.getParamsByPortlet(\r\n      item,\r\n      pageSetting\r\n    );\r\n    return new Promise((resolve) => {\r\n      // json buffer\r\n      this.httpClient\r\n        .post(this.api.baseurl + this.api.urlList.GetPortletDataV2, params)\r\n        .subscribe(\r\n          (result) => {\r\n            if (result) {\r\n              const table = find(\r\n                (this.table as any)._results,\r\n                (el) => el.portlet.newId === item.newId\r\n              );\r\n              const excelExportProperties: ExcelExportProperties = {\r\n                fileName: title\r\n                  ? title + \".xlsx\"\r\n                  : \"Table-\" + new Date().toISOString() + \".xlsx\",\r\n                // @ts-ignore\r\n                dataSource: result.data,\r\n              };\r\n              if (table) {\r\n                table.grid.excelExport(excelExportProperties);\r\n              }\r\n            }\r\n            resolve(true);\r\n          },\r\n          (response) => {},\r\n          () => {}\r\n        );\r\n    });\r\n  }\r\n\r\n  private updateFormat(columns: ColumnModel[], pivotObj) {\r\n    var fList = pivotObj.renderModule.getFormatList();\r\n    for (var i = 0; i < columns.length; i++) {\r\n      if (\r\n        (columns[i] as ColumnModel).columns &&\r\n        (columns[i] as ColumnModel).columns.length > 0\r\n      ) {\r\n        this.updateFormat(\r\n          (columns[i] as ColumnModel).columns as ColumnModel[],\r\n          pivotObj\r\n        );\r\n      } else {\r\n        if (\r\n          columns[i].customAttributes &&\r\n          fList[(columns[i].customAttributes.cell as IAxisSet).actualText] ===\r\n            \"N\"\r\n        ) {\r\n          (columns[i] as ColumnModel).format = undefined;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  public getPortletType(item) {\r\n    const config = item && item.config ? JSON.parse(item.config) : {};\r\n    if (config.portletType) {\r\n      if (config.portletType === \"historicalIRR\") {\r\n        return config.selectedVisualType;\r\n      }\r\n      return config.portletType;\r\n    }\r\n  }\r\n\r\n  updatePorletConfig(event) {\r\n    // 处理配置更新\r\n    console.log(\"updatePorletConfig called with:\", event);\r\n  }\r\n}\r\n","<div class=\"container dashboard-download-container\">\r\n\t<div class=\"header\">\r\n\t\t<div class=\"header-label\">\r\n\t\t\t{{ translation.DOWNLOAD_PREVIEW || \".DOWNLOAD_PREVIEW\" }}\r\n\t\t</div>\r\n\t\t<mat-icon class=\"close\" (click)=\"close()\">close</mat-icon>\r\n\t</div>\r\n\t<div class=\"body\">\r\n\t\t<div class=\"portlet\" *ngFor=\"let item of portlets\">\r\n\t\t\t<kt-gadget-table\r\n\t\t\t\t#dtable\r\n\t\t\t\t*ngIf=\"getPortletType(item) == 'table'\"\r\n\t\t\t\t[portlets]=\"portlets\"\r\n\t\t\t\t[dashboard]=\"data.dashboard\"\r\n\t\t\t\t[portlet]=\"item\"\r\n\t\t\t>\r\n\t\t\t</kt-gadget-table>\r\n\t\t\t<kt-gadget-pivot\r\n\t\t\t\t#dpivot\r\n\t\t\t\t*ngIf=\"getPortletType(item) == 'pivot'\"\r\n\t\t\t\t[portlet]=\"item\"\r\n\t\t\t\t[dashboard]=\"data.dashboard\"\r\n\t\t\t\t[portlets]=\"portlets\"\r\n\t\t\t\t[themeColor]=\"item.themeColor\"\r\n\t\t\t>\r\n\t\t\t</kt-gadget-pivot>\r\n\t\t\t<kt-gadget-pivot-chart\r\n\t\t\t\t#dpivot\r\n\t\t\t\t*ngIf=\"getPortletType(item) == 'newchart'\"\r\n\t\t\t\t[portlet]=\"item\"\r\n\t\t\t\t[dashboard]=\"data.dashboard\"\r\n\t\t\t\t[portlets]=\"portlets\"\r\n\t\t\t\t[themeColor]=\"item.themeColor\"\r\n\t\t\t\t(updatePorletConfig)=\"updatePorletConfig($event)\"\r\n\t\t\t>\r\n\t\t\t</kt-gadget-pivot-chart>\r\n\t\t\t<kt-gadget-transpose\r\n\t\t\t\t#dtranspose\r\n\t\t\t\t*ngIf=\"getPortletType(item) == 'transpose'\"\r\n\t\t\t\t[portlets]=\"portlets\"\r\n\t\t\t\t[dashboard]=\"data.dashboard\"\r\n\t\t\t\t[portlet]=\"item\"\r\n\t\t\t>\r\n\t\t\t</kt-gadget-transpose>\r\n\t\t\t<kt-bar-charts\r\n\t\t\t\t*ngIf=\"\r\n\t\t\t\t\t['newcolumn', 'newline', 'newcolumnline'].includes(\r\n\t\t\t\t\t\tgetPortletType(item)\r\n\t\t\t\t\t)\r\n\t\t\t\t\"\r\n\t\t\t\t#dnewChart\r\n\t\t\t\t[dashboard]=\"data.dashboard\"\r\n\t\t\t\t[dataColumn]=\"item.dataColumn\"\r\n\t\t\t\t[dataLine]=\"item.dataLine\"\r\n\t\t\t\t[columnType]=\"item.columnType\"\r\n\t\t\t\t[lineType]=\"item.lineType\"\r\n\t\t\t\t[themeColor]=\"item.themeColor\"\r\n\t\t\t\t[portlet]=\"item\"\r\n\t\t\t></kt-bar-charts>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"footer\">\r\n\t\t<div class=\"btn btn-cancle\" (click)=\"close()\">\r\n\t\t\t{{ translation.CLOSE || \".CLOSE\" }}\r\n\t\t</div>\r\n\t\t<div class=\"btn btn-primary\" (click)=\"downloadAll()\">\r\n\t\t\t{{ translation.DOWNLOAD || \".DOWNLOAD\" }}\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { DashboardService } from \"../../dashboard.service\";\r\n\r\n@Component({\r\n  selector: \"rs-empty-icon-prompt\",\r\n  templateUrl: \"./empty-icon-prompt.component.html\",\r\n  styleUrls: [\"./empty-icon-prompt.component.scss\"],\r\n})\r\nexport class EmptyIconPromptComponent implements OnInit {\r\n  @Input() displayCode;\r\n  @Input() dashboard;\r\n  constructor(private DashboardService: DashboardService) {}\r\n\r\n  ngOnInit() {}\r\n  public editProperties() {\r\n    this.DashboardService.properties.next({\r\n      status: false,\r\n      id: this.dashboard.id,\r\n    });\r\n  }\r\n  public createNewDashboard() {\r\n    this.DashboardService.createGroupDashboard.next(true);\r\n  }\r\n  public customize() {\r\n    this.DashboardService.customized = true;\r\n  }\r\n}\r\n","<div class=\"content\">\r\n\t<div class=\"card-body d-flex flex-column\">\r\n\t\t<div class=\"flex-grow-1\" style=\"position: relative\">\r\n\t\t\t<img src=\"../../../../../assets/img/customize.png\" />\r\n\t\t</div>\r\n\t\t<div class=\"pt-5\">\r\n\t\t\t<p\r\n\t\t\t\tclass=\"text-center font-weight-normal font-size-lg pb-7\"\r\n\t\t\t\t*ngIf=\"displayCode == 'portlet'\"\r\n\t\t\t>\r\n\t\t\t\tThe chart you created will be shown here…\r\n\t\t\t</p>\r\n\t\t\t<p\r\n\t\t\t\tclass=\"text-center font-weight-normal font-size-lg pb-7\"\r\n\t\t\t\t*ngIf=\"displayCode == 'dashboard'\"\r\n\t\t\t>\r\n\t\t\t\tCustomize the dashboard by\r\n\t\t\t\t<span class=\"createChart\" (click)=\"editProperties()\"\r\n\t\t\t\t\t>Editing dashboard properties</span\r\n\t\t\t\t>\r\n\t\t\t</p>\r\n\t\t\t<p\r\n\t\t\t\tclass=\"text-center font-weight-normal font-size-lg pb-7\"\r\n\t\t\t\t*ngIf=\"displayCode == 'dashboardGroup'\"\r\n\t\t\t>\r\n\t\t\t\tAdd new dashboard group by\r\n\t\t\t\t<span class=\"createChart\" (click)=\"createNewDashboard()\"\r\n\t\t\t\t\t>Creating new dashboard</span\r\n\t\t\t\t>\r\n\t\t\t</p>\r\n\t\t\t<p\r\n\t\t\t\tclass=\"text-center font-weight-normal font-size-lg pb-7\"\r\n\t\t\t\t*ngIf=\"displayCode == 'customize'\"\r\n\t\t\t>\r\n\t\t\t\tClick\r\n\t\t\t\t<span class=\"createChart\" (click)=\"customize()\">Customize</span>\r\n\t\t\t\tto edit your dashboard\r\n\t\t\t</p>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  Output,\r\n  EventEmitter,\r\n  ChangeDetectorRef,\r\n  ChangeDetectionStrategy,\r\n  Input,\r\n  OnChanges,\r\n  SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { DashboardPorletsService } from \"../../dashboardPorlets.service\";\r\nimport { DashboardService } from \"../../dashboard.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { getTranslation } from \"../../../utils/utils\";\r\n\r\n@Component({\r\n  selector: \"rs-portlet-type-new\",\r\n  templateUrl: \"./portlet-type-new.component.html\",\r\n  styleUrls: [\"./portlet-type-new.component.scss\"],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PortletTypeNewComponent implements OnInit, OnChanges {\r\n  @Input(\"dataMartCode\") dataMartCode = \"\";\r\n  @Input() portlet;\r\n  @Input() dashboard;\r\n  @Output() portletType = new EventEmitter();\r\n  private datamart;\r\n  public translation;\r\n  private userInfo;\r\n  public portletList;\r\n  public type;\r\n  private subscriptions: Subscription[] = [];\r\n  isCN = false;\r\n\r\n  constructor(\r\n    private DashboardPorletsService: DashboardPorletsService,\r\n    private DashboardService: DashboardService,\r\n    private ref: ChangeDetectorRef\r\n  ) {\r\n    this.portletList = [\r\n      {\r\n        portletName: \"Table\",\r\n        portletCode: \"table\",\r\n      },\r\n      {\r\n        portletName: \"Transpose\",\r\n        portletCode: \"transpose\",\r\n      },\r\n      {\r\n        portletName: \"Pivot\",\r\n        portletCode: \"pivot\",\r\n      },\r\n      {\r\n        portletName: \"Pie\",\r\n        portletCode: \"pie\",\r\n      },\r\n      {\r\n        portletName: \"Bar\",\r\n        portletCode: \"bar\",\r\n      },\r\n      {\r\n        portletName: \"Column\",\r\n        portletCode: \"column\",\r\n      },\r\n      {\r\n        portletName: \"Line\",\r\n        portletCode: \"line\",\r\n      },\r\n      {\r\n        portletName: \"Area\",\r\n        portletCode: \"area\",\r\n      },\r\n      {\r\n        portletName: \"Radar\",\r\n        portletCode: \"radar\",\r\n      },\r\n    ];\r\n\r\n    this.portletList = this.portletList.concat([\r\n      {\r\n        portletName: \"NewChart\",\r\n        portletCode: \"newchart\",\r\n      },\r\n      {\r\n        portletName: \"NewColumn\",\r\n        portletCode: \"newcolumn\",\r\n      },\r\n      {\r\n        portletName: \"NewLine\",\r\n        portletCode: \"newline\",\r\n      },\r\n      {\r\n        portletName: \"NewColumnLine\",\r\n        portletCode: \"newcolumnline\",\r\n      },\r\n      // SMP2-17578/17654，仅 fund/company historical IRR 可选择\r\n      // TODO: 需要确定 fund/company historical IRR code\r\n      {\r\n        portletName: \"HistoricalIRR\",\r\n        portletCode: \"historicalIRR\",\r\n      },\r\n      // SMP2-27984，添加 map，仅 Property Details 可选择\r\n      {\r\n        portletName: \"Map\",\r\n        portletCode: \"map\",\r\n      },\r\n    ]);\r\n    const excludeList = [\"Pie\", \"Bar\", \"Column\", \"Line\", \"Area\", \"Radar\"];\r\n    this.portletList =\r\n      this.portletList.filter(\r\n        (item) => !excludeList.includes(item.portletName)\r\n      ) || [];\r\n\r\n    this.isCN = /\\.cn$/i.test(location.origin);\r\n    if (this.isCN) {\r\n      this.portletList = this.portletList.filter(\r\n        (item) => item.portletName !== \"Map\"\r\n      );\r\n    }\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.getInfo();\r\n\r\n    if (this.portlet && this.portlet.figureCode) {\r\n      const configStr = this.portlet.config;\r\n      if (!configStr) {\r\n        return;\r\n      }\r\n      const config = JSON.parse(configStr);\r\n      this.type = config.portletType;\r\n    }\r\n    this.datamart = JSON.parse(this.dashboard.config).datamartViewCode;\r\n    this.ref.detectChanges();\r\n  }\r\n  ngAfterViewInit(): void {\r\n    this.subscriptions.push(\r\n      this.DashboardService.getportletEdit().subscribe((status) => {\r\n        if (status && this.portlet) {\r\n          const configStr = this.portlet.config;\r\n          if (!configStr) {\r\n            return;\r\n          }\r\n          const config = JSON.parse(configStr);\r\n          this.type = config.portletType;\r\n          // this.portletType.emit(this.type);\r\n          this.datamart = config.datamartViewCode;\r\n          this.ref.markForCheck();\r\n          this.ref.detectChanges();\r\n        }\r\n      })\r\n    );\r\n    //Michael 20200526 clear options data\r\n    this.subscriptions.push(\r\n      this.DashboardService.getResetbtn().subscribe((status) => {\r\n        if (status) {\r\n          this.type = \"\";\r\n          this.portletType.emit(this.type);\r\n          this.ref.detectChanges();\r\n        }\r\n      })\r\n    );\r\n    this.subscriptions.push(\r\n      this.DashboardService.getPushbtn().subscribe((id) => {\r\n        if (this.dashboard && this.dashboard.id === id) {\r\n          this.type = \"\";\r\n          this.portletType.emit(this.type);\r\n        }\r\n      })\r\n    );\r\n  }\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes.dataMartCode) {\r\n      if (this.disabledHistoricalIRR && this.type === \"historicalIRR\") {\r\n        this.selectPortletType(null);\r\n      }\r\n    }\r\n  }\r\n  ngOnDestroy(): void {\r\n    this.subscriptions.forEach((sub) => sub.unsubscribe());\r\n  }\r\n\r\n  get disabledHistoricalIRR() {\r\n    return ![\"FundHistoricalCashflowIRR\", \"FundHistoricalGrossIRR\"].includes(\r\n      this.dataMartCode\r\n    );\r\n  }\r\n\r\n  public setTooltip(item) {\r\n    if (!item) return \"\";\r\n    switch (item.portletName) {\r\n      case \"Map\":\r\n        return this.translation.MAP || \".MAP\";\r\n      case \"Table\":\r\n        return this.translation.TABLE || \".TABLE\";\r\n      case \"Transpose\":\r\n        return `${this.translation.TRANSPOSE || \".TRANSPOSE\"} ${\r\n          this.translation.TABLE || \".TABLE\"\r\n        }`;\r\n      case \"Pivot\":\r\n        return `${this.translation.PIVOT || \".PIVOT\"} ${\r\n          this.translation.TABLE || \".TABLE\"\r\n        }`;\r\n      case \"NewChart\":\r\n        return `${this.translation.PIVOT || \".PIVOT\"} ${\r\n          this.translation.COMPANY_CHART || \".COMPANY_CHART\"\r\n        }`;\r\n      case \"NewColumn\":\r\n        return `${this.translation.CLUSTERED_COLUMN || \".CLUSTERED_COLUMN\"} ${\r\n          this.translation.COMPANY_CHART || \".COMPANY_CHART\"\r\n        }`;\r\n      case \"NewLine\":\r\n        return `${this.translation.LINE || \".LINE\"} ${\r\n          this.translation.COMPANY_CHART || \".COMPANY_CHART\"\r\n        }`;\r\n      case \"NewColumnLine\":\r\n        return `${this.translation.LINE || \".LINE\"} ${\r\n          this.translation.AND || \".AND\"\r\n        } ${this.translation.CLUSTERED_COLUMN || \".CLUSTERED_COLUMN\"} ${\r\n          this.translation.COMPANY_CHART || \".COMPANY_CHART\"\r\n        }`;\r\n      case \"HistoricalIRR\":\r\n        return `${this.translation.HISTORICAL} ${this.translation.IRR}`;\r\n      default:\r\n        return \"\";\r\n    }\r\n  }\r\n\r\n  public selectPortletType(portletCode) {\r\n    this.type = portletCode;\r\n    this.portletType.emit(portletCode);\r\n  }\r\n  private getInfo() {\r\n    this.translation = getTranslation();\r\n    this.userInfo = JSON.parse(localStorage.getItem(\"userInfo\") || \"{}\");\r\n  }\r\n  public getFinancialType() {\r\n    if (this.datamart) {\r\n      return this.datamart.toLocaleLowerCase().indexOf(\"financial\") > -1\r\n        ? true\r\n        : false;\r\n    }\r\n  }\r\n  public getFPPType(code) {\r\n    let type_ = [\r\n      \"table\",\r\n      \"pivot\",\r\n      \"pie\",\r\n      \"bar\",\r\n      \"column\",\r\n      \"line\",\r\n      \"area\",\r\n      \"multiSeries\",\r\n      \"geo\",\r\n      \"radar\",\r\n    ];\r\n    return type_.indexOf(code) > -1 ? true : false;\r\n  }\r\n}\r\n","<div class=\"portlet-row\">\r\n  <ng-container *ngFor=\"let item of portletList\">\r\n    <div\r\n      class=\"portlet-wrapper\"\r\n      *ngIf=\"item.portletCode == 'financialTable' ? getFinancialType() : true\"\r\n    >\r\n      <div\r\n        class=\"portlet\"\r\n        matTooltip=\"{{ setTooltip(item) }}\"\r\n        [ngClass]=\"{\r\n          enabled: item.portletCode !== type,\r\n          selected: item.portletCode === type,\r\n          disabled:\r\n            disabledHistoricalIRR && item.portletCode === 'historicalIRR'\r\n        }\"\r\n        [hidden]=\"\r\n          item.portletCode === 'map' && dataMartCode !== 'PropertyDetails'\r\n        \"\r\n        (click)=\"selectPortletType(item.portletCode)\"\r\n      >\r\n        <div [ngClass]=\"['portlet-icon', item.portletCode + '-type']\"></div>\r\n      </div>\r\n      <div\r\n        *ngIf=\"item.portletCode === 'newchart'\"\r\n        style=\"position: relative; top: -4px\"\r\n        class=\"portlet-label\"\r\n      ></div>\r\n    </div>\r\n  </ng-container>\r\n</div>\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  ChangeDetectorRef,\r\n  Input,\r\n  EventEmitter,\r\n  Output,\r\n  HostListener,\r\n  ElementRef,\r\n  ViewChild,\r\n  Optional,\r\n  Inject,\r\n} from \"@angular/core\";\r\nimport { DashboardPorletsService } from \"../../dashboardPorlets.service\";\r\nimport { ApiList } from \"../../api\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { DashboardService } from \"../../dashboard.service\";\r\nimport { cloneDeep, uniqBy } from \"lodash\";\r\nimport { closest } from \"@syncfusion/ej2-base\";\r\nimport { SearchInputComponent, SmartPopupComponent } from \"raise-common-lib\";\r\nimport { API_SERVICE_TOKEN, PBF_TOKEN } from \"../../../service/InjectionToken\";\r\nimport { getTranslation } from \"../../../utils/utils\";\r\n\r\n@Component({\r\n  selector: \"rs-field-filter\",\r\n  templateUrl: \"./field-filter.component.html\",\r\n  styleUrls: [\"./field-filter.component.scss\"],\r\n})\r\nexport class FieldFilterComponent implements OnInit {\r\n  selectedTriggerElement: HTMLElement | null = null;\r\n  isPopupOpen = false;\r\n  isLoading = false;\r\n\r\n  @ViewChild(\"popup\", { static: false }) popup: SmartPopupComponent;\r\n  @ViewChild(\"searchInput\", { static: false })\r\n  searchInput: SearchInputComponent;\r\n  @Input() figureCode;\r\n  @Input() portlet;\r\n  @Input() dashboard;\r\n  @Input() portlets;\r\n  @Output() updatePorletConfig = new EventEmitter();\r\n  public translation;\r\n  public userInfo;\r\n  public userProfile;\r\n  public datePipeFormat;\r\n  public searchText;\r\n  private subscriptions: Subscription[] = [];\r\n  public config;\r\n  public fields = [];\r\n  public fields_copy = [];\r\n  // private tableData_copy = [];\r\n  public tableData = [];\r\n  public showType_i;\r\n  public dataType = [\"Budget\", \"Actual\", \"Forecast\", \"Rolling\"];\r\n  private _portlet;\r\n  public numTypes = [\"number\", \"percent\", \"percentNum\"];\r\n  public childFilterSearchText = \"\";\r\n\r\n  constructor(\r\n    public DashboardPorletsService: DashboardPorletsService,\r\n    private api: ApiList,\r\n    @Optional() @Inject(API_SERVICE_TOKEN) private http: any,\r\n    private ref: ChangeDetectorRef,\r\n    private DashboardService: DashboardService,\r\n    @Optional() @Inject(PBF_TOKEN) public pbf: any,\r\n    private el: ElementRef\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.getInfo();\r\n    this.initFilter();\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.subscriptions.push(\r\n      this.DashboardService.getportletEdit().subscribe((status) => {\r\n        if (status) {\r\n          this.fields = [];\r\n          this.searchText = \"\";\r\n          this.initFilter();\r\n          this.ref.markForCheck();\r\n          this.ref.detectChanges();\r\n        }\r\n      })\r\n    );\r\n    this.subscriptions.push(\r\n      this.DashboardService.getPushbtn().subscribe((id) => {\r\n        if (this.dashboard && this.dashboard.id === id) {\r\n          this.initFilter();\r\n          this.ref.markForCheck();\r\n          this.ref.detectChanges();\r\n        }\r\n      })\r\n    );\r\n    this.subscriptions.push(\r\n      this.DashboardService.getclearSidebar().subscribe((status) => {\r\n        if (status) {\r\n          this.fields.forEach((item, index) => {\r\n            item.selectAll = true;\r\n            this.filterSelectAll(true, item);\r\n          });\r\n          this.ref.markForCheck();\r\n        }\r\n      })\r\n    );\r\n  }\r\n  ngOnDestroy(): void {\r\n    this.subscriptions.forEach((sub) => sub.unsubscribe());\r\n  }\r\n\r\n  private initTableData(field) {\r\n    let columnFilter = [];\r\n    if (this.config.filterSettings.length) {\r\n      const filterSettings = this.config.filterSettings.filter(\r\n        (x) => x.field !== field && x.name !== field\r\n      );\r\n      filterSettings.forEach((setting) => {\r\n        const _field = this.config.fields.find(\r\n          (item) =>\r\n            item.colName === setting.name || item.colName === setting.field\r\n        );\r\n        const Type = _field && _field.dataType;\r\n        if (setting.items) {\r\n          setting.items.forEach((item) => {\r\n            columnFilter.push({\r\n              Field: setting.name,\r\n              Operator: \"equal\",\r\n              Type,\r\n              // Value:\r\n              // \tType === \"date\"\r\n              // \t\t? moment(item).format(\"yyyy-MM-DD\")\r\n              // \t\t: Type === \"datetime\"\r\n              // \t\t? moment(item).format(\"yyyy-MM-DD hh:mm:ss\")\r\n              // \t\t: item,\r\n            });\r\n          });\r\n        } else if (setting.Operator || setting.operator) {\r\n          if (setting.operator) {\r\n            setting = {\r\n              Operator: setting.operator,\r\n              Type: setting.type,\r\n              Field: setting.field,\r\n              // Value:\r\n              // \tType === \"date\"\r\n              // \t\t? moment(setting.value).format(\"yyyy-MM-DD\")\r\n              // \t\t: Type === \"datetime\"\r\n              // \t\t? moment(setting.value).format(\r\n              // \t\t\t\t\"yyyy-MM-DD hh:mm:ss\"\r\n              // \t\t  )\r\n              // \t\t: setting.value,\r\n            };\r\n          }\r\n          columnFilter.push(setting);\r\n        }\r\n      });\r\n    }\r\n    if (this.config.portletType === \"historicalIRR\") {\r\n      columnFilter.push(\r\n        {\r\n          Field: \"Frequencys\",\r\n          Operator: \"equal\",\r\n          Type: \"string\",\r\n          Value: this.config.selectedMultiples,\r\n        },\r\n        {\r\n          Field: \"InvestorType\",\r\n          Operator: \"equal\",\r\n          Type: \"string\",\r\n          Value: this.config.selectedInvestor,\r\n        }\r\n      );\r\n    }\r\n    let data = {\r\n      dashboardDataTableId: this._portlet.dashboardDataTableId,\r\n      displayColumnFilter: field,\r\n      columnFilter,\r\n    };\r\n    if (this.config.portletType === \"pivot\") {\r\n      data[\"portletType\"] = \"pivot\";\r\n    }\r\n    return new Promise((resolve, reject) => {\r\n      this.http.post(\r\n        this.api.urlList.GetDistinctColumnValsByPortletDataParam,\r\n        data,\r\n        (res) => {\r\n          resolve(res);\r\n          this.ref.markForCheck();\r\n        }\r\n      );\r\n    });\r\n  }\r\n\r\n  // 初始化filter侧边栏，获取当前portlet的filter数据\r\n  private initFilter() {\r\n    this.fields = [];\r\n    this.tableData = [];\r\n    this.fields_copy = [];\r\n    if (this.portlet) this._portlet = cloneDeep(this.portlet);\r\n    if (\r\n      this._portlet &&\r\n      this._portlet.figureCode &&\r\n      this.DashboardPorletsService.getResultByDataTable(\r\n        this._portlet,\r\n        false,\r\n        false,\r\n        this.dashboard.id\r\n      )\r\n    ) {\r\n      // 拿到table的数据\r\n      this.tableData = JSON.parse(\r\n        JSON.stringify(\r\n          this.DashboardPorletsService.getResultByDataTable(\r\n            this._portlet,\r\n            false,\r\n            false,\r\n            this.dashboard.id\r\n          )\r\n        )\r\n      );\r\n      // 拿到config和fields的数据\r\n      this.config = JSON.parse(this._portlet.config);\r\n      if (\r\n        this.dashboard &&\r\n        this.DashboardPorletsService.fieldsArr[this.dashboard.id] &&\r\n        this.DashboardPorletsService.fieldsArr[this.dashboard.id][\r\n          this._portlet.figureCode\r\n        ]\r\n      ) {\r\n        const fields =\r\n          this.DashboardPorletsService.fieldsArr[this.dashboard.id][\r\n            this._portlet.figureCode\r\n          ];\r\n        this.fields = [...fields].map((item) => {\r\n          const itemName = item.addtionName\r\n            ? item.langValue + \" \" + item.addtionName\r\n            : item.langValue;\r\n          return {\r\n            ...item,\r\n            itemName,\r\n            displayName: this.pbf.setMiddleEllipsis(itemName, 200, 11),\r\n          };\r\n        });\r\n      } else {\r\n        this.fields = JSON.parse(JSON.stringify(this.config.fields));\r\n        this.fields = this.fields.map((item) => {\r\n          const itemName = item.addtionName\r\n            ? item.langValue + \" \" + item.addtionName\r\n            : item.langValue;\r\n          return {\r\n            ...item,\r\n            itemName,\r\n            displayName: this.pbf.setMiddleEllipsis(itemName, 200, 11),\r\n          };\r\n        });\r\n        this.fields.sort((a, b) =>\r\n          a.langValue.toString().localeCompare(b.langValue)\r\n        );\r\n      }\r\n      this.ref.detectChanges();\r\n      if (this.fields && this.fields.length) {\r\n        if (!this.config.filterSettings || !this.config.filterSettings.length) {\r\n          this.fields.map((el) => {\r\n            el.selectAll = true;\r\n            el.totalSelectAll = true;\r\n          });\r\n        } else {\r\n          this.fields.map((el) => {\r\n            let attr = this.config.portletType == \"table\" ? \"field\" : \"name\";\r\n            let res = this.config.filterSettings.filter(\r\n              (f) => f[attr] === el.colName\r\n            );\r\n            el.selectAll = res.length ? false : true;\r\n            el.totalSelectAll = res.length ? false : true;\r\n          });\r\n        }\r\n      }\r\n      this.fields_copy = JSON.parse(JSON.stringify(this.fields));\r\n    }\r\n  }\r\n\r\n  // search colName\r\n  public filter(filterText: string) {\r\n    this.fields = cloneDeep(\r\n      this.fields_copy.filter((el) => {\r\n        // Q2Q名称是拼接addtionName显示，搜索时多判断一个\r\n        const str = filterText.toLocaleLowerCase();\r\n        const itemName = el.addtionName\r\n          ? el.langValue + \" \" + el.addtionName\r\n          : el.langValue;\r\n        return itemName.toLocaleLowerCase().indexOf(str) > -1;\r\n      })\r\n    );\r\n  }\r\n\r\n  filterChacheMap = {};\r\n  // click filter icon, 打开filter弹框\r\n  public async openfilter(item, cb) {\r\n    let tableData = [];\r\n    this.childFilterSearchText = \"\";\r\n    if (this.filterChacheMap[item.colName]) {\r\n      this.fields_copy.forEach((el) => {\r\n        if (el.colName == item.colName) {\r\n          const dataList = cloneDeep(el.dataList);\r\n          dataList.forEach((elData) => {\r\n            elData.checked = false;\r\n            item.dataList.forEach((itemData) => {\r\n              if (elData.value == itemData.value) {\r\n                elData.checked = itemData.checked;\r\n              }\r\n            });\r\n          });\r\n          item.dataList = dataList;\r\n        }\r\n      });\r\n      this.checkSelectAll(item);\r\n      setTimeout(() => {\r\n        cb && cb();\r\n        this.ref.markForCheck();\r\n        this.ref.detectChanges();\r\n      }, 300);\r\n      return;\r\n    }\r\n    const res = await this.initTableData(item.colName);\r\n    tableData = (res && res[item.colName]) || [];\r\n    this.pbf.pageLoading = false;\r\n    this.filterChacheMap[item.colName] = true;\r\n\r\n    let dataList = [];\r\n    if (tableData && tableData.length) {\r\n      if (item.dataType == \"date\" || item.dataType == \"datetime\") {\r\n        tableData = tableData.filter((data) => this.isValidDate(data));\r\n        if (tableData) {\r\n          tableData = tableData.map((item) => this.pbf.formatFilterDate(item));\r\n        }\r\n      }\r\n      if (item.dataType == \"number\") {\r\n        tableData.forEach((data) => {\r\n          data = this.getNumberPoint(item, data);\r\n        });\r\n      }\r\n      if (item.dataType == \"percent\" || item.dataType == \"percentNum\") {\r\n        tableData.forEach((data) => {\r\n          data = this.getPercentPoint(item, data);\r\n        });\r\n      }\r\n      // if (this.numTypes.includes(item.dataType)) {\r\n      // \tthis.tableData = uniqBy(this.tableData, item.colName + 1);\r\n      // } else {\r\n      // \tthis.tableData = uniqBy(this.tableData, item.colName);\r\n      // }\r\n      // this.tableData = uniqBy(this.tableData, item.colName);\r\n      if (item && item.selectAll) {\r\n        dataList = tableData.map((value) => {\r\n          return {\r\n            value,\r\n            displayValue: value,\r\n            checked: true,\r\n          };\r\n        });\r\n      } else {\r\n        let _filter;\r\n        if (this.config.portletType === \"table\") {\r\n          const _list = this.config.filterSettings.filter(\r\n            (setting) =>\r\n              setting.name === item.colName || setting.field === item.colName\r\n          );\r\n          if (_list && _list.length) {\r\n            _filter = {\r\n              items: _list.map((_item) => _item.value),\r\n              name: _list[0].field,\r\n              showLabelFilter: false,\r\n              type: \"Include\",\r\n            };\r\n          }\r\n        } else {\r\n          _filter = this.config.filterSettings.find(\r\n            (setting) =>\r\n              setting.name === item.colName || setting.field === item.colName\r\n          );\r\n        }\r\n        if (_filter && _filter.items && _filter.items.length) {\r\n          let items = _filter.items;\r\n          if (item.dataType === \"date\" || item.dataType === \"datetime\") {\r\n            items = _filter.items.map((_item) =>\r\n              this.pbf.formatFilterDate(_item)\r\n            );\r\n          }\r\n          dataList = tableData.map((value) => {\r\n            return {\r\n              value,\r\n              checked: !!items.find((_item) => String(value) === String(_item)),\r\n            };\r\n          });\r\n        }\r\n      }\r\n    }\r\n    // 排序\r\n    if (item.dataType == \"date\" || item.dataType == \"datetime\") {\r\n      dataList.sort((a, b) => {\r\n        return new Date(a.value).getTime() < new Date(b.value).getTime()\r\n          ? 1\r\n          : -1;\r\n      });\r\n    } else if (item.dataType == \"string\") {\r\n      dataList.sort((a, b) => a.value.toString().localeCompare(b.value));\r\n    } else if (\r\n      item.dataType == \"number\" ||\r\n      item.dataType == \"percent\" ||\r\n      item.dataType == \"percentNum\" ||\r\n      item.dataType == \"multiple\"\r\n    ) {\r\n      dataList.sort((a, b) => {\r\n        return a.value < b.value ? 1 : -1;\r\n      });\r\n    }\r\n    item.dataList = [...dataList];\r\n    this.fields_copy.forEach((el) => {\r\n      if (el.colName == item.colName) {\r\n        el.dataList = cloneDeep([...dataList]);\r\n      }\r\n    });\r\n    this.checkSelectAll(item);\r\n\r\n    setTimeout(() => {\r\n      cb && cb();\r\n      this.ref.markForCheck();\r\n      this.ref.detectChanges();\r\n    }, 300);\r\n  }\r\n  // filter弹框 - 搜索\r\n  public searchFilter(event, item) {\r\n    let obj_copy = this.fields_copy.find((el) => el.colName == item.colName);\r\n    let targetField = this.fields.find((el) => el.colName == item.colName);\r\n    const dataList = cloneDeep(obj_copy.dataList);\r\n    if (\r\n      item.dataType == \"string\" ||\r\n      item.dataType === \"date\" ||\r\n      item.dataType === \"datetime\"\r\n    ) {\r\n      targetField.dataList = dataList.filter(\r\n        (el) =>\r\n          String(el.value)\r\n            .toLocaleLowerCase()\r\n            .indexOf(event.toLocaleLowerCase()) > -1\r\n      );\r\n    } else if (\r\n      item.dataType == \"number\" ||\r\n      item.dataType == \"percent\" ||\r\n      item.dataType == \"percentNum\" ||\r\n      item.dataType == \"multiple\"\r\n    ) {\r\n      targetField.dataList = dataList.filter(\r\n        (el) => String(el.value).indexOf(event) > -1\r\n      );\r\n    } else {\r\n      targetField.dataList = dataList.filter(\r\n        (el) => el.value.indexOf(event) > -1\r\n      );\r\n    }\r\n    obj_copy.dataList = dataList;\r\n    // if (!event || !obj || !obj.dataList || !obj.dataList.length) {\r\n    // \ttargetField.selectAll = obj.selectAll;\r\n    // \ttargetField.dataList = [...obj.dataList];\r\n    // }\r\n\r\n    targetField.dataList.forEach((el) => {\r\n      el.checked = true;\r\n    });\r\n    item.selectAll = true;\r\n    // this.tableData = uniqBy(this.tableData, item.colName);\r\n\r\n    this.ref.markForCheck();\r\n  }\r\n\r\n  // filter弹框 - 点击selectAll\r\n  public filterSelectAll(checked, item) {\r\n    item.selectAll = checked;\r\n    item.dataList.map((el) => (el.checked = checked));\r\n    item.dataList.forEach((data) => {\r\n      this.fields_copy.forEach((field) => {\r\n        if (field.colName == item.colName) {\r\n          field.selectAll = item.selectAll;\r\n          field.dataList.map((copyData) => {\r\n            if (copyData.value == data.value) {\r\n              copyData.checked = data.checked;\r\n            }\r\n          });\r\n        }\r\n      });\r\n    });\r\n  }\r\n\r\n  // filter弹框 - 单项勾选状态改变\r\n  public filterChecked(checked, item, value) {\r\n    item.dataList.map((el) => {\r\n      if (el.value == value) el.checked = checked;\r\n    });\r\n    this.checkSelectAll(item);\r\n  }\r\n\r\n  // 单项勾选状态改变后，判断是否全部选中或全部未选中\r\n  private checkSelectAll(item) {\r\n    let res = item.dataList.filter((el) => !el.checked);\r\n    if (res.length) {\r\n      item.selectAll = false;\r\n    } else {\r\n      item.selectAll = true;\r\n    }\r\n    this.fields_copy.forEach((field) => {\r\n      if (field.colName == item.colName) {\r\n        item.totalSelectAll =\r\n          field.dataList.length === item.dataList.length && item.selectAll;\r\n      }\r\n    });\r\n  }\r\n  clearFilter(item) {\r\n    this.filterSelectAll(true, item);\r\n  }\r\n  // 获取filter数据，传值\r\n  public getFilterData(item) {\r\n    this.isPopupOpen = false;\r\n    this.checkSelectAll(item);\r\n    let filtervalues = [];\r\n    if (this.config.filterSettings && this.config.filterSettings.length) {\r\n      const filters = [];\r\n      this.config.filterSettings.forEach((setting) => {\r\n        if (setting.field === item.colName || setting.name == item.colName) {\r\n          return;\r\n        }\r\n        filters.push(setting);\r\n      });\r\n      this.config.filterSettings = [...filters];\r\n    } else {\r\n      this.config.filterSettings = [];\r\n    }\r\n    if (!item.totalSelectAll) {\r\n      let dataList = [];\r\n      let fields_ = cloneDeep(\r\n        this.fields_copy.filter((field) => field.colName == item.colName)\r\n      );\r\n      if (item && item.dataList && item.dataList.length) {\r\n        dataList = item.dataList;\r\n      } else {\r\n        dataList = fields_[0].dataList;\r\n      }\r\n      let unChecked = dataList.filter((el) => !el.checked);\r\n      if (unChecked.length !== dataList.length) {\r\n        dataList.forEach((el) => {\r\n          if (el.checked) {\r\n            if (\r\n              this.config.portletType === \"table\" ||\r\n              this.config.portletType === \"transpose\"\r\n            ) {\r\n              filtervalues.push(el.value);\r\n            } else {\r\n              if (this.numTypes.includes(item.dataType)) {\r\n                if (item.format && item.format.length) {\r\n                  let millionNumber = [5, 6, 7, 8, 9, 10, 13, 14, 15];\r\n                  if (millionNumber.includes(item.format[0].selectedFormat)) {\r\n                    el.value = el.value / 1000000;\r\n                  }\r\n                }\r\n              } else if (\r\n                item.dataType == \"date\" ||\r\n                item.dataType == \"dataTime\"\r\n              ) {\r\n                el.value = this.pbf.formatFilterDate(el.value);\r\n              }\r\n              // filtervalues.push(el.value.toString());\r\n              filtervalues.push(el.value);\r\n            }\r\n          }\r\n        });\r\n      }\r\n      if (filtervalues && filtervalues.length) {\r\n        if (\r\n          this.config.portletType === \"table\" ||\r\n          this.config.portletType === \"transpose\"\r\n        ) {\r\n          filtervalues.forEach((val) => {\r\n            this.config.filterSettings.push({\r\n              field: item.colName,\r\n              ignoreAccent: false,\r\n              operator: \"equal\",\r\n              matchCase: false,\r\n              predicate: \"or\",\r\n              type: item.dataType,\r\n              value:\r\n                item.dataType == \"date\" || item.dataType == \"dataTime\"\r\n                  ? this.pbf.formatFilterDate(val)\r\n                  : val,\r\n            });\r\n          });\r\n        } else {\r\n          this.config.filterSettings.push({\r\n            name: item.colName,\r\n            type: \"Include\",\r\n            showLabelFilter: false,\r\n            items: filtervalues,\r\n          });\r\n        }\r\n      } else {\r\n        if (item.dataList && item.dataList.length) {\r\n          if (!item.selectAll) {\r\n            this.config.filterSettings.push({\r\n              items: [],\r\n              name: item.colName,\r\n              showLabelFilter: false,\r\n              type: \"Include\",\r\n            });\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n    if (this.config.filterSettings && this.config.filterSettings.length) {\r\n      this.config.filterSettings = uniqBy(\r\n        this.config.filterSettings,\r\n        (el) => el\r\n      );\r\n    }\r\n    this.portlet.config = JSON.stringify(this.config);\r\n    const index = this.portlets.findIndex(\r\n      (x) => x.newId === this.portlet.newId\r\n    );\r\n    if (index > -1) this.portlets[index].config = JSON.stringify(this.config);\r\n    this.DashboardPorletsService.filterTriggerGetData(\r\n      this._portlet,\r\n      this.config.filterSettings,\r\n      this.dashboard,\r\n      (res) => {\r\n        this.updatePorletConfig.emit(res);\r\n      }\r\n    );\r\n    this.DashboardService.tableFilter.next(true);\r\n  }\r\n\r\n  private getInfo() {\r\n    this.translation = getTranslation();\r\n    this.userInfo = JSON.parse(localStorage.getItem(\"userInfo\") || \"{}\");\r\n    this.userProfile = JSON.parse(localStorage.getItem(\"userProfile\") || \"{}\");\r\n    this.datePipeFormat = localStorage.getItem(\"datePipe\");\r\n  }\r\n  public isValidDate(date) {\r\n    // Invalid date问题，判断是否是有效日期\r\n    // return date instanceof Date && !isNaN(date.getTime())\r\n    let timestamp = Date.parse(date);\r\n    return isNaN(timestamp) ? false : true;\r\n  }\r\n\r\n  public getNumberPoint(item, value) {\r\n    if (item.format && item.format.length) {\r\n      let millionNumber = [5, 6, 7, 8, 9, 10, 13, 14, 15];\r\n      let dp = this.getNumberDp(item.format[0].selectedFormat);\r\n      return this.pbf.tofixedNum(\r\n        millionNumber.includes(item.format[0].selectedFormat)\r\n          ? value / 1000000\r\n          : value,\r\n        dp\r\n      );\r\n    } else {\r\n      return this.pbf.tofixedNum(value, item.dp);\r\n    }\r\n  }\r\n  private getNumberDp(format) {\r\n    switch (format) {\r\n      case 1:\r\n      case 2:\r\n      case 5:\r\n      case 6:\r\n      case 11:\r\n      case 13:\r\n        return 0;\r\n      case 3:\r\n      case 4:\r\n      case 9:\r\n      case 10:\r\n      case 12:\r\n      case 15:\r\n        return 2;\r\n      case 7:\r\n      case 8:\r\n      case 14:\r\n        return 1;\r\n    }\r\n  }\r\n  private getPercentPoint(item, value) {\r\n    if (item.format && item.format.length) {\r\n      let dp = this.getPercentDp(item.format[0].selectedFormat);\r\n      return (\r\n        this.pbf.tofixedNum(\r\n          item.dataType == \"percent\" ? value * 100 : value,\r\n          dp\r\n        ) + \"%\"\r\n      );\r\n    } else {\r\n      return this.pbf.tofixedNum(value, item.dp) + \"%\";\r\n    }\r\n  }\r\n  private getPercentDp(format) {\r\n    switch (format) {\r\n      case 1:\r\n      case 2:\r\n        return 0;\r\n      case 3:\r\n      case 4:\r\n        return 1;\r\n      case 5:\r\n      case 6:\r\n        return 2;\r\n    }\r\n  }\r\n\r\n  targetFieldFilter: any = {};\r\n  targetFieldIndex: number = -1;\r\n  onActionClick(element: any, item: any, event?: any) {\r\n    this.searchInput.searchValue = \"\";\r\n    if (event) {\r\n      event.stopPropagation(); // 阻止事件冒泡\r\n    }\r\n    // 确保获取到 HTMLElement（如果是 ElementRef，需要获取 nativeElement）\r\n    const htmlElement =\r\n      element && element.nativeElement ? element.nativeElement : element;\r\n    this.selectedTriggerElement = htmlElement;\r\n    const fieldName = event.target.getAttribute(\"data-field\");\r\n    const index = this.fields.findIndex((item) => item.itemName === fieldName);\r\n    if (this.targetFieldIndex === index) {\r\n      this.isPopupOpen = false;\r\n      return;\r\n    }\r\n    this.targetFieldIndex = index;\r\n    this.targetFieldFilter = this.fields[index];\r\n    // 使用 setTimeout 确保 triggerElement 已更新后再打开弹窗\r\n    // this.targetFieldFilter = item;\r\n\r\n    setTimeout(() => {\r\n      this.isPopupOpen = true;\r\n      this.isLoading = true;\r\n\r\n      this.openfilter(this.fields[index], () => {\r\n        this.isLoading = false;\r\n        this.ref.markForCheck();\r\n        this.ref.detectChanges();\r\n      });\r\n    }, 0);\r\n  }\r\n\r\n  onPopupOpenChange(open: boolean) {\r\n    this.isPopupOpen = open;\r\n    if (!open) {\r\n      this.targetFieldFilter = {};\r\n      this.selectedTriggerElement = null;\r\n      this.targetFieldIndex = -1;\r\n    }\r\n  }\r\n}\r\n","<div class=\"content\" id=\"field-filter-content\">\r\n  <div class=\"search\">\r\n    <rs-search-input (hanleSearch)=\"filter($event)\"></rs-search-input>\r\n  </div>\r\n  <div class=\"fields\">\r\n    <div id=\"ds-field-list\">\r\n      <div\r\n        class=\"field clearfix\"\r\n        *ngFor=\"let item of fields; let i = index\"\r\n        [ngClass]=\"{ hidden: item.isHidden, active: targetFieldIndex === i }\"\r\n      >\r\n        <div\r\n          class=\"field-name\"\r\n          [matTooltip]=\"item.displayName !== item.itemName ? item.itemName : ''\"\r\n          matTooltipPosition=\"above\"\r\n        >\r\n          {{ item.displayName }}\r\n        </div>\r\n        <img\r\n          [attr.data-field]=\"item.itemName\"\r\n          class=\"ds-filter-icon\"\r\n          src=\"../../../../../assets/img/dashboard_icon/filter.svg\"\r\n          [ngClass]=\"{ active: !item.totalSelectAll }\"\r\n          #actionElement\r\n          (click)=\"onActionClick(actionElement, item, $event)\"\r\n        />\r\n      </div>\r\n    </div>\r\n\r\n    <!-- <div class=\"fields\">\r\n\t\t<div\r\n\t\t\tclass=\"field clearfix\"\r\n\t\t\t*ngFor=\"let item of fields; let i = index\"\r\n\t\t\t[hidden]=\"item.isHidden\"\r\n\t\t>\r\n\t\t\t<p class=\"field-name fl\">\r\n\t\t\t\t{{\r\n\t\t\t\t\titem.displayName\r\n\t\t\t\t\t\t? item.displayName\r\n\t\t\t\t\t\t: item.addtionName\r\n\t\t\t\t\t\t? item.langValue + \" \" + item.addtionName\r\n\t\t\t\t\t\t: item.langValue\r\n\t\t\t\t}}\r\n\t\t\t</p>\r\n\t\t\t<img\r\n\t\t\t\tclass=\"icon-filter fr\"\r\n\t\t\t\t(click)=\"openfilter(i, item)\"\r\n\t\t\t\tsrc=\"../../../../assets/img/dashboard_icon/{{\r\n\t\t\t\t\titem.selectAll ? 'gadget-filters' : 'gadget-filters-light'\r\n\t\t\t\t}}.svg\"\r\n\t\t\t/>\r\n\r\n\t\t\t<div\r\n\t\t\t\tclass=\"filter-pop fl\"\r\n\t\t\t\t*ngIf=\"showFilter_i === i && showPop_filter\"\r\n\t\t\t>\r\n\t\t\t\t<div class=\"search-bar\">\r\n\t\t\t\t\t<mat-form-field\r\n\t\t\t\t\t\tappearance=\"outline\"\r\n\t\t\t\t\t\tclass=\"search-\"\r\n\t\t\t\t\t\tstyle=\"\r\n\t\t\t\t\t\t\theight: 40px;\r\n\t\t\t\t\t\t\tmargin: 0;\r\n\t\t\t\t\t\t\tmargin-top: 15px;\r\n\t\t\t\t\t\t\tmargin-bottom: 10px;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<span matPrefix>\r\n\t\t\t\t\t\t\t<mat-icon matSuffix style=\"transform: scale(1.25)\"\r\n\t\t\t\t\t\t\t\t>search\r\n\t\t\t\t\t\t\t</mat-icon>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\ttype=\"search\"\r\n\t\t\t\t\t\t\tmatInput\r\n\t\t\t\t\t\t\t[placeholder]=\"\r\n\t\t\t\t\t\t\t\ttranslation.SEARCH\r\n\t\t\t\t\t\t\t\t\t? translation.SEARCH\r\n\t\t\t\t\t\t\t\t\t: 'SEARCH' + '...'\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\tstyle=\"font-size: 1.25rem\"\r\n\t\t\t\t\t\t\tclass=\"mat-form-field mat-form-field-fluid\"\r\n\t\t\t\t\t\t\t[(ngModel)]=\"childFilterSearchText\"\r\n\t\t\t\t\t\t\t(input)=\"searchFilter($event.target.value, item)\"\r\n\t\t\t\t\t\t\tautocomplete=\"off\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</mat-form-field>\r\n\t\t\t\t\t<mat-checkbox\r\n\t\t\t\t\t\tclass=\"select-all\"\r\n\t\t\t\t\t\t[(ngModel)]=\"item.selectAll\"\r\n\t\t\t\t\t\t(change)=\"filterSelectAll($event.checked, item)\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\ttranslation.SELECT_ALL\r\n\t\t\t\t\t\t\t\t? translation.SELECT_ALL\r\n\t\t\t\t\t\t\t\t: \".SELECT_ALL\"\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t</mat-checkbox>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"filter-content\">\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tclass=\"filter-\"\r\n\t\t\t\t\t\t*ngFor=\"let obj of item.dataList ? item.dataList : []\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<mat-checkbox\r\n\t\t\t\t\t\t\t[checked]=\"obj.checked\"\r\n\t\t\t\t\t\t\t(change)=\"\r\n\t\t\t\t\t\t\t\tfilterChecked($event.checked, item, obj.value)\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\tobj.value || obj.value === 0\r\n\t\t\t\t\t\t\t\t\t? item.dataType === \"date\" ||\r\n\t\t\t\t\t\t\t\t\t  item.dataType === \"dataTime\"\r\n\t\t\t\t\t\t\t\t\t\t? pbf.formatFilterDate(obj.value)\r\n\t\t\t\t\t\t\t\t\t\t: item.dataType === \"string\"\r\n\t\t\t\t\t\t\t\t\t\t? obj.value\r\n\t\t\t\t\t\t\t\t\t\t: (obj.value | number : \"1.2-2\")\r\n\t\t\t\t\t\t\t\t\t: \"Empty\"\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t</mat-checkbox>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div> -->\r\n  </div>\r\n\r\n  <rs-smart-popup\r\n    #popup\r\n    [triggerElement]=\"selectedTriggerElement\"\r\n    [open]=\"isPopupOpen\"\r\n    [loading]=\"isLoading\"\r\n    [width]=\"220\"\r\n    [height]=\"240\"\r\n    placement=\"BottomRight\"\r\n    [autoAdjust]=\"'yes'\"\r\n    [offset]=\"8\"\r\n    (openChange)=\"onPopupOpenChange($event)\"\r\n  >\r\n    <div class=\"filter-config\">\r\n      <rs-search-input\r\n        #searchInput\r\n        (hanleSearch)=\"searchFilter($event, targetFieldFilter)\"\r\n      ></rs-search-input>\r\n\r\n      <div class=\"filter-content\">\r\n        <ejs-checkbox\r\n          [label]=\"\r\n            translation.SELECT_ALL ? translation.SELECT_ALL : 'Select All'\r\n          \"\r\n          [(ngModel)]=\"targetFieldFilter.selectAll\"\r\n          (change)=\"filterSelectAll($event.checked, targetFieldFilter)\"\r\n        ></ejs-checkbox>\r\n        <div\r\n          class=\"filter-\"\r\n          *ngFor=\"\r\n            let obj of targetFieldFilter.dataList\r\n              ? targetFieldFilter.dataList\r\n              : []\r\n          \"\r\n        >\r\n          <ejs-checkbox\r\n            [checked]=\"obj.checked\"\r\n            (change)=\"\r\n              filterChecked($event.checked, targetFieldFilter, obj.value)\r\n            \"\r\n            [label]=\"\r\n              obj.value || obj.value === 0\r\n                ? targetFieldFilter.dataType === 'date' ||\r\n                  targetFieldFilter.dataType === 'dataTime'\r\n                  ? pbf.formatFilterDate(obj.value)\r\n                  : targetFieldFilter.dataType === 'string'\r\n                  ? obj.value\r\n                  : (obj.value | number : '1.2-2')\r\n                : 'Empty'\r\n            \"\r\n          >\r\n          </ejs-checkbox>\r\n        </div>\r\n      </div>\r\n      <div class=\"filter-op\">\r\n        <button class=\"e-btn\" (click)=\"clearFilter(targetFieldFilter)\">\r\n          {{ translation.CLEAR || \"Clear\" }}\r\n        </button>\r\n        <button\r\n          (click)=\"getFilterData(targetFieldFilter)\"\r\n          class=\"e-btn e-primary\"\r\n        >\r\n          {{ translation.CONFIRM || \"Confirm\" }}\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </rs-smart-popup>\r\n</div>\r\n","import { Injectable } from \"@angular/core\";\r\nimport { MatIconRegistry } from \"@angular/material/icon\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Injectable()\r\nexport class IconLoaderService {\r\n  constructor(\r\n    private registry: MatIconRegistry,\r\n    private domSanitizer: DomSanitizer\r\n  ) {}\r\n\r\n  registerIcons(list) {\r\n    list.forEach(({ name, path }) => {\r\n      this.registry.addSvgIcon(\r\n        name,\r\n        this.domSanitizer.bypassSecurityTrustResourceUrl(path)\r\n      );\r\n    });\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n  RouteReuseStrategy,\r\n  ActivatedRouteSnapshot,\r\n  DetachedRouteHandle,\r\n} from \"@angular/router\";\r\n\r\nconst storedRoutes = new Map<string, DetachedRouteHandle>();\r\nlet toBeDeleteUrl: string;\r\nlet excludeRoutes: string[] = []; // 不需要缓存的url\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class KeepAliveService implements RouteReuseStrategy {\r\n  setExcludeRoutes(routes: string[]) {\r\n    excludeRoutes = routes; // 设置不缓存的路由\r\n  }\r\n  shouldDetach(route: ActivatedRouteSnapshot): boolean {\r\n    let config = route.routeConfig;\r\n    // console.log(\"shouldDetach\", toBeDeleteUrl, this.getRoutePath(route));\r\n    if (toBeDeleteUrl === this.getRoutePath(route)) {\r\n      // 对于新开的又即将关闭的tab，不缓存\r\n      if (route.children.length === 0) {\r\n        toBeDeleteUrl = \"\";\r\n      }\r\n      return false;\r\n    }\r\n    if (config && excludeRoutes.includes(this.getRoutePath(route))) {\r\n      return false;\r\n    }\r\n    //Don't store lazy loaded routes\r\n    return config && !config.loadChildren;\r\n  }\r\n\r\n  store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void {\r\n    // console.log(\"store\", this.getRoutePath(route));\r\n    // console.log(\"store\", storedRoutes);\r\n    const key = this.getRoutePath(route);\r\n    storedRoutes.set(key, handle);\r\n  }\r\n\r\n  shouldAttach(route: ActivatedRouteSnapshot): boolean {\r\n    const key = this.getRoutePath(route);\r\n    return !!route.routeConfig && storedRoutes.has(key);\r\n  }\r\n\r\n  retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle {\r\n    let config = route.routeConfig;\r\n    const key = this.getRoutePath(route);\r\n    //We don't store lazy loaded routes, so don't even bother trying to retrieve them\r\n    if (!config || config.loadChildren) {\r\n      return false;\r\n    }\r\n    return storedRoutes.get(key) || null;\r\n  }\r\n\r\n  shouldReuseRoute(\r\n    future: ActivatedRouteSnapshot,\r\n    curr: ActivatedRouteSnapshot\r\n  ): boolean {\r\n    // console.log(\"shouldReuseRoute\", future, curr);\r\n    // return future.routeConfig === curr.routeConfig;\r\n    if (future.routeConfig === curr.routeConfig) {\r\n      if (future.children.length === 0 && curr.children.length === 0) {\r\n        // 无子路由时, 通过params和queryParams判断是否复用路由\r\n        return JSON.stringify(future.params) === JSON.stringify(curr.params);\r\n      }\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  getRoutePath(route): string {\r\n    if (route.routeConfig) {\r\n      // const pathParams = JSON.stringify(route.params);\r\n      // const queryParams = new URLSearchParams(route.queryParams).toString();\r\n      const url = route.url.map((v) => v.path).join(\"/\");\r\n      return \"/\" + url;\r\n    }\r\n    return \"\";\r\n  }\r\n\r\n  clearCache(path: string) {\r\n    // console.log(\"clearCache\", storedRoutes, path);\r\n    toBeDeleteUrl = path;\r\n    storedRoutes.delete(path);\r\n  }\r\n\r\n  clearAllCache() {\r\n    storedRoutes.clear();\r\n  }\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { DragDropModule } from \"@angular/cdk/drag-drop\";\r\nimport { InlineSVGModule } from \"ng-inline-svg-2\";\r\n\r\nimport {\r\n  GridModule,\r\n  RowDDService,\r\n  PageService,\r\n  SortService,\r\n  FilterService,\r\n  ExcelExportService,\r\n  EditService,\r\n  ResizeService,\r\n  ToolbarService,\r\n  ColumnChooserService,\r\n  AggregateService,\r\n  ColumnMenuService,\r\n  DetailRowService,\r\n  SelectionService,\r\n  PagerModule,\r\n  GroupService,\r\n  GridAllModule,\r\n} from \"@syncfusion/ej2-angular-grids\";\r\nimport {\r\n  SwitchModule,\r\n  CheckBoxModule,\r\n  RadioButtonModule,\r\n  ButtonModule,\r\n  ChipListModule,\r\n} from \"@syncfusion/ej2-angular-buttons\";\r\nimport { DiagramModule } from \"@syncfusion/ej2-angular-diagrams\";\r\nimport { TooltipModule, DialogModule } from \"@syncfusion/ej2-angular-popups\";\r\nimport {\r\n  DatePickerModule,\r\n  DateRangePickerModule,\r\n  DateTimePickerModule,\r\n} from \"@syncfusion/ej2-angular-calendars\";\r\n\r\nimport {\r\n  TextBoxModule,\r\n  ColorPickerModule,\r\n  UploaderModule,\r\n  NumericTextBoxModule,\r\n} from \"@syncfusion/ej2-angular-inputs\";\r\nimport {\r\n  DropDownListModule,\r\n  MultiSelectAllModule,\r\n  AutoCompleteModule,\r\n  DropDownTreeModule,\r\n  ListBoxModule,\r\n} from \"@syncfusion/ej2-angular-dropdowns\";\r\nimport {\r\n  PivotViewAllModule,\r\n  PivotFieldListAllModule,\r\n} from \"@syncfusion/ej2-angular-pivotview\";\r\nimport {\r\n  ChartAllModule,\r\n  AccumulationChartAllModule,\r\n  RangeNavigatorAllModule,\r\n  AccumulationChartModule,\r\n  PieSeriesService,\r\n  AccumulationLegendService,\r\n  AccumulationTooltipService,\r\n  AccumulationAnnotationService,\r\n  AccumulationDataLabelService,\r\n} from \"@syncfusion/ej2-angular-charts\";\r\nimport { DashboardLayoutModule } from \"@syncfusion/ej2-angular-layouts\";\r\nimport {\r\n  CarouselAllModule,\r\n  ToolbarModule,\r\n  TabModule,\r\n  TreeViewModule,\r\n} from \"@syncfusion/ej2-angular-navigations\";\r\nimport {\r\n  PdfViewerModule,\r\n  LinkAnnotationService,\r\n  BookmarkViewService,\r\n  MagnificationService,\r\n  ThumbnailViewService,\r\n  ToolbarService as PbfToolbarService,\r\n  NavigationService,\r\n  TextSearchService,\r\n  TextSelectionService,\r\n  PrintService,\r\n} from \"@syncfusion/ej2-angular-pdfviewer\";\r\nimport {\r\n  DropDownButtonModule,\r\n  SplitButtonModule,\r\n} from \"@syncfusion/ej2-angular-splitbuttons\";\r\nimport {\r\n  RichTextEditorAllModule,\r\n  HtmlEditorService,\r\n  ToolbarService as RichEditorToolbarService,\r\n} from \"@syncfusion/ej2-angular-richtexteditor\";\r\nimport { SkeletonModule } from \"@syncfusion/ej2-angular-notifications\";\r\n\r\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\n\r\n// services\r\nimport { CommonFunctionService } from \"./service/common-function.service\";\r\nimport { IconLoaderService } from \"./service/icon-loader.service\";\r\nimport { DialogService } from \"./service/dialog.service\";\r\nimport { TranslationService } from \"./service/translation.service\";\r\n\r\nimport { CommonGridComponent } from \"./common-grid/index.component\";\r\nimport { GridActionComponent } from \"./common-grid/grid-action/grid-action.component\";\r\nimport { GridActionItemComponent } from \"./common-grid/grid-action/grid-action-item/grid-action-item.component\";\r\n\r\nimport { FloatBoxComponent } from \"./float-box/index.component\";\r\n\r\nimport { RsPageListComponent } from \"./layout/page-list/index.component\";\r\nimport {\r\n  RsLeftContentSlotDirective,\r\n  RsWholeToolbarSlotDirective,\r\n} from \"./layout/layout-content-slots.directives\";\r\nimport { RsPageTabComponent } from \"./layout/page-tab/index.component\";\r\nimport { GridBoxComponent } from \"./layout/grid-box/index.component\";\r\nimport { MainContainerComponent } from \"./layout/main-container/index.component\";\r\nimport { RSHeaderComponent } from \"./layout/rs-header/index.component\";\r\nimport { RSFooterComponent } from \"./layout/rs-footer/index.component\";\r\nimport { RSAsideComponent } from \"./layout/rs-aside/index.component\";\r\nimport { MultiTabComponent } from \"./layout/multi-tab/index.component\";\r\nimport { DrawerComponent } from \"./layout/drawer/index.component\";\r\nimport { RSStepperComponent } from \"./layout/rs-stepper/index.component\";\r\n\r\nimport { TagInputComponent } from \"./form/tag-input/index.component\";\r\nimport { RadioGroupComponent } from \"./form/radio-group/index.component\";\r\nimport { CheckboxGroupComponent } from \"./form/checkbox-group/index.component\";\r\nimport { SwitchInputComponent } from \"./form/switch-input/index.component\";\r\nimport { EncryptedInputComponent } from \"./form/encrypted-input/index.component\";\r\nimport { SearchInputComponent } from \"./form/search-input/index.component\";\r\nimport { ConfirmSelectComponent } from \"./form/confirm-select/index.component\";\r\n\r\nimport { NewActionNotificationComponent } from \"./dialog/new-action-notification/new-action-notification.component\";\r\nimport { CommonDialogComponent } from \"./dialog/common-dialog/index.component\";\r\nimport { CommonDeleteComponent } from \"./dialog/common-delete-dialog/index.component\";\r\nimport { DrawerService } from \"./service/drawer.service\";\r\nimport { DrawerFormComponent } from \"./form/drawer-form/drawer-form.component\";\r\nimport { ToolbarItemComponent } from \"./actions/toolbar-item/index.component\";\r\nimport { RSToolbarComponent } from \"./actions/toolbar/index.component\";\r\n\r\nimport { RsCommentaryComponent } from \"./commentary/index.component\";\r\nimport { RSNavCardGroupComponent } from \"./layout/nav-card-group/index.component\";\r\nimport { TruncatedTextToggleComponent } from \"./truncated-text-toggle/index.component\";\r\nimport { RichtexteditorComponent } from \"./form/richtexteditor/index.component\";\r\nimport { SmartPopupComponent } from \"./smart-popup/index.component\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    CommonGridComponent,\r\n    GridActionComponent,\r\n    GridActionItemComponent,\r\n    FloatBoxComponent,\r\n    RsPageListComponent,\r\n    RsLeftContentSlotDirective,\r\n    RsWholeToolbarSlotDirective,\r\n    RsPageTabComponent,\r\n    GridBoxComponent,\r\n    RSHeaderComponent,\r\n    RSFooterComponent,\r\n    RSAsideComponent,\r\n    MultiTabComponent,\r\n    MainContainerComponent,\r\n    TagInputComponent,\r\n    RadioGroupComponent,\r\n    CheckboxGroupComponent,\r\n    RichtexteditorComponent,\r\n    SwitchInputComponent,\r\n    EncryptedInputComponent,\r\n    SearchInputComponent,\r\n    ConfirmSelectComponent,\r\n    NewActionNotificationComponent,\r\n    CommonDialogComponent,\r\n    CommonDeleteComponent,\r\n    DrawerComponent,\r\n    DrawerFormComponent,\r\n    ToolbarItemComponent,\r\n    RsCommentaryComponent,\r\n    RSNavCardGroupComponent,\r\n    RSToolbarComponent,\r\n    TruncatedTextToggleComponent,\r\n    RichtexteditorComponent,\r\n    SmartPopupComponent,\r\n    RSStepperComponent,\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    HttpClientModule,\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    DragDropModule,\r\n    MatSnackBarModule,\r\n    MatMenuModule,\r\n    MatTooltipModule,\r\n    MatDialogModule,\r\n    MatIconModule,\r\n    MatCheckboxModule,\r\n    MatSelectModule,\r\n    MatFormFieldModule,\r\n    MatInputModule,\r\n    MatButtonModule,\r\n    GridModule,\r\n    PagerModule,\r\n    GridAllModule,\r\n    SwitchModule,\r\n    CheckBoxModule,\r\n    RadioButtonModule,\r\n    ButtonModule,\r\n    ChipListModule,\r\n    DiagramModule,\r\n    TooltipModule,\r\n    DialogModule,\r\n    DatePickerModule,\r\n    DateRangePickerModule,\r\n    DateTimePickerModule,\r\n    TextBoxModule,\r\n    ColorPickerModule,\r\n    UploaderModule,\r\n    NumericTextBoxModule,\r\n    DropDownListModule,\r\n    DropDownTreeModule,\r\n    MultiSelectAllModule,\r\n    AutoCompleteModule,\r\n    ListBoxModule,\r\n    PivotViewAllModule,\r\n    PivotFieldListAllModule,\r\n    ChartAllModule,\r\n    AccumulationChartAllModule,\r\n    RangeNavigatorAllModule,\r\n    AccumulationChartModule,\r\n    DashboardLayoutModule,\r\n    CarouselAllModule,\r\n    ToolbarModule,\r\n    TabModule,\r\n    TreeViewModule,\r\n    PdfViewerModule,\r\n    DropDownButtonModule,\r\n    SplitButtonModule,\r\n    SkeletonModule,\r\n    RichTextEditorAllModule,\r\n    InlineSVGModule,\r\n  ],\r\n  providers: [\r\n    PageService,\r\n    RowDDService,\r\n    SortService,\r\n    FilterService,\r\n    ExcelExportService,\r\n    EditService,\r\n    ResizeService,\r\n    ToolbarService,\r\n    ColumnChooserService,\r\n    AggregateService,\r\n    ColumnMenuService,\r\n    DetailRowService,\r\n    SelectionService,\r\n    GroupService,\r\n    PieSeriesService,\r\n    AccumulationLegendService,\r\n    AccumulationTooltipService,\r\n    AccumulationAnnotationService,\r\n    AccumulationDataLabelService,\r\n    LinkAnnotationService,\r\n    BookmarkViewService,\r\n    MagnificationService,\r\n    ThumbnailViewService,\r\n    PbfToolbarService,\r\n    NavigationService,\r\n    TextSearchService,\r\n    TextSelectionService,\r\n    PrintService,\r\n    HtmlEditorService,\r\n    RichEditorToolbarService,\r\n\r\n    CommonFunctionService,\r\n    IconLoaderService,\r\n    DialogService,\r\n    TranslationService,\r\n  ],\r\n  exports: [\r\n    CommonModule,\r\n    HttpClientModule,\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    DragDropModule,\r\n    MatSnackBarModule,\r\n    MatMenuModule,\r\n    MatTooltipModule,\r\n    MatDialogModule,\r\n    GridModule,\r\n    PagerModule,\r\n    GridAllModule,\r\n    SwitchModule,\r\n    CheckBoxModule,\r\n    RadioButtonModule,\r\n    ButtonModule,\r\n    ChipListModule,\r\n    DiagramModule,\r\n    TooltipModule,\r\n    DialogModule,\r\n    DatePickerModule,\r\n    DateRangePickerModule,\r\n    DateTimePickerModule,\r\n    TextBoxModule,\r\n    ColorPickerModule,\r\n    UploaderModule,\r\n    NumericTextBoxModule,\r\n    DropDownListModule,\r\n    DropDownTreeModule,\r\n    MultiSelectAllModule,\r\n    AutoCompleteModule,\r\n    ListBoxModule,\r\n    PivotViewAllModule,\r\n    PivotFieldListAllModule,\r\n    ChartAllModule,\r\n    AccumulationChartAllModule,\r\n    RangeNavigatorAllModule,\r\n    AccumulationChartModule,\r\n    DashboardLayoutModule,\r\n    CarouselAllModule,\r\n    ToolbarModule,\r\n    TabModule,\r\n    TreeViewModule,\r\n    PdfViewerModule,\r\n    DropDownButtonModule,\r\n    SplitButtonModule,\r\n    SkeletonModule,\r\n    RichTextEditorAllModule,\r\n    CommonGridComponent,\r\n    GridActionComponent,\r\n    GridActionItemComponent,\r\n    FloatBoxComponent,\r\n    RsPageListComponent,\r\n    RsLeftContentSlotDirective,\r\n    RsWholeToolbarSlotDirective,\r\n    RsPageTabComponent,\r\n    GridBoxComponent,\r\n    RSHeaderComponent,\r\n    RSFooterComponent,\r\n    RSAsideComponent,\r\n    MultiTabComponent,\r\n    MainContainerComponent,\r\n    TagInputComponent,\r\n    RadioGroupComponent,\r\n    CheckboxGroupComponent,\r\n    RichtexteditorComponent,\r\n    SwitchInputComponent,\r\n    EncryptedInputComponent,\r\n    SearchInputComponent,\r\n    ConfirmSelectComponent,\r\n    DrawerComponent,\r\n    DrawerFormComponent,\r\n    ToolbarItemComponent,\r\n    RsCommentaryComponent,\r\n    RSNavCardGroupComponent,\r\n    RSToolbarComponent,\r\n    TruncatedTextToggleComponent,\r\n    SmartPopupComponent,\r\n    CommonDialogComponent,\r\n    RSStepperComponent,\r\n  ],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n})\r\nexport class RaiseCommonLibModule {}\r\n","/**\r\n * 各业务项目若自实现 dashboard，只用引入RaiseCommonLibModule，不引用本模块，可避免冲突。\r\n */\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { DragDropModule } from \"@angular/cdk/drag-drop\";\r\nimport {\r\n  GridModule,\r\n  PageService,\r\n  SortService,\r\n  FilterService,\r\n  GroupService,\r\n  ExcelExportService,\r\n  PagerModule,\r\n  GridAllModule,\r\n} from \"@syncfusion/ej2-angular-grids\";\r\nimport { SwitchModule, CheckBoxModule } from \"@syncfusion/ej2-angular-buttons\";\r\nimport { TooltipModule, DialogModule } from \"@syncfusion/ej2-angular-popups\";\r\nimport {\r\n  DatePickerModule,\r\n  DateRangePickerModule,\r\n  DateTimePickerModule,\r\n} from \"@syncfusion/ej2-angular-calendars\";\r\nimport {\r\n  TextBoxModule,\r\n  ColorPickerModule,\r\n  UploaderModule,\r\n  NumericTextBoxModule,\r\n} from \"@syncfusion/ej2-angular-inputs\";\r\nimport {\r\n  DropDownListModule,\r\n  MultiSelectAllModule,\r\n  AutoCompleteModule,\r\n  ListBoxModule,\r\n} from \"@syncfusion/ej2-angular-dropdowns\";\r\nimport {\r\n  PivotViewAllModule,\r\n  PivotFieldListAllModule,\r\n} from \"@syncfusion/ej2-angular-pivotview\";\r\nimport {\r\n  ChartAllModule,\r\n  AccumulationChartAllModule,\r\n  RangeNavigatorAllModule,\r\n  AccumulationChartModule,\r\n} from \"@syncfusion/ej2-angular-charts\";\r\nimport { DashboardLayoutModule } from \"@syncfusion/ej2-angular-layouts\";\r\nimport {\r\n  CarouselAllModule,\r\n  ToolbarModule,\r\n  TabModule,\r\n  TreeViewModule,\r\n} from \"@syncfusion/ej2-angular-navigations\";\r\nimport { RichTextEditorAllModule } from \"@syncfusion/ej2-angular-richtexteditor\";\r\nimport { InlineSVGModule } from \"ng-inline-svg-2\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\n\r\nimport { PaneGroupNewComponent } from \"./dashboard/pane-group-new.component\";\r\nimport { SidebarIconlistNewComponent } from \"./dashboard/sidebar-iconlist/sidebar-iconlist-new.component\";\r\nimport { EmptyIconPromptComponent } from \"./dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component\";\r\nimport { GadgetTableComponent } from \"./dashboard/gadget-group/gadget-table/gadget-table.component\";\r\nimport { GadgetPivotComponent } from \"./dashboard/gadget-group/gadget-pivot/gadget-pivot.component\";\r\nimport { GadgetPivotChartComponent } from \"./dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component\";\r\nimport { GadgetTransposeComponent } from \"./dashboard/gadget-group/gadget-transpose/gadget-transpose.component\";\r\nimport { PortletTypeNewComponent } from \"./dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component\";\r\nimport { FieldFilterComponent } from \"./dashboard/sidebar-iconlist/field-filter/field-filter.component\";\r\nimport { FieldFormatComponent } from \"./dashboard/sidebar-iconlist/field-format/field-format.component\";\r\nimport { DataMartNewComponent } from \"./dashboard/dashboard-properties/data-mart-new/data-mart-new.component\";\r\nimport { BarChartsComponent } from \"./dashboard/bar-charts/bar-charts.component\";\r\nimport { PaneDownloadComponent } from \"./dashboard/dialog-group/download/index.component\";\r\nimport { DuplicateDialogComponent } from \"./dashboard/pane-group-new/duplicate-dialog/index.component\";\r\nimport { RenameDialogComponent } from \"./dashboard/pane-group-new/rename-dialog/index.component\";\r\nimport { DashboardRedirectComponent } from \"./dashboard/pane-group-new/redirect/index.component\";\r\n\r\nimport { RaiseCommonLibModule } from \"./raise-common-lib.module\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PaneGroupNewComponent,\r\n    SidebarIconlistNewComponent,\r\n    EmptyIconPromptComponent,\r\n    GadgetTableComponent,\r\n    GadgetPivotComponent,\r\n    GadgetPivotChartComponent,\r\n    GadgetTransposeComponent,\r\n    PortletTypeNewComponent,\r\n    FieldFilterComponent,\r\n    FieldFormatComponent,\r\n    DataMartNewComponent,\r\n    BarChartsComponent,\r\n    PaneDownloadComponent,\r\n    DuplicateDialogComponent,\r\n    RenameDialogComponent,\r\n    DashboardRedirectComponent,\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    DragDropModule,\r\n    GridModule,\r\n    PagerModule,\r\n    GridAllModule,\r\n    SwitchModule,\r\n    CheckBoxModule,\r\n    TooltipModule,\r\n    DialogModule,\r\n    DatePickerModule,\r\n    DateRangePickerModule,\r\n    DateTimePickerModule,\r\n    TextBoxModule,\r\n    ColorPickerModule,\r\n    UploaderModule,\r\n    NumericTextBoxModule,\r\n    DropDownListModule,\r\n    MultiSelectAllModule,\r\n    AutoCompleteModule,\r\n    ListBoxModule,\r\n    PivotViewAllModule,\r\n    PivotFieldListAllModule,\r\n    ChartAllModule,\r\n    AccumulationChartAllModule,\r\n    RangeNavigatorAllModule,\r\n    AccumulationChartModule,\r\n    DashboardLayoutModule,\r\n    CarouselAllModule,\r\n    ToolbarModule,\r\n    TabModule,\r\n    TreeViewModule,\r\n    RichTextEditorAllModule,\r\n    InlineSVGModule,\r\n    MatDialogModule,\r\n    MatIconModule,\r\n    MatMenuModule,\r\n    MatTooltipModule,\r\n    MatCheckboxModule,\r\n    MatSelectModule,\r\n    MatFormFieldModule,\r\n    MatInputModule,\r\n    MatButtonModule,\r\n    RaiseCommonLibModule,\r\n  ],\r\n  exports: [\r\n    PaneGroupNewComponent,\r\n    SidebarIconlistNewComponent,\r\n    EmptyIconPromptComponent,\r\n    GadgetTableComponent,\r\n    GadgetPivotComponent,\r\n    GadgetPivotChartComponent,\r\n    GadgetTransposeComponent,\r\n    PortletTypeNewComponent,\r\n    FieldFilterComponent,\r\n    FieldFormatComponent,\r\n    DataMartNewComponent,\r\n    BarChartsComponent,\r\n    PaneDownloadComponent,\r\n    DuplicateDialogComponent,\r\n    RenameDialogComponent,\r\n    DashboardRedirectComponent,\r\n  ],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n})\r\nexport class RaiseCommonLibDashboardModule {}\r\n","/*\r\n * Public API Surface of raise-common-lib\r\n */\r\nexport * from \"./lib/common-grid/index.component\";\r\nexport * from \"./lib/common-grid/grid-action/grid-action.component\";\r\nexport * from \"./lib/common-grid/grid-action/grid-action-item/grid-action-item.component\";\r\nexport * from \"./lib/float-box/index.component\";\r\nexport * from \"./lib/commentary/index.component\";\r\nexport * from \"./lib/truncated-text-toggle/index.component\";\r\n\r\nexport * from \"./lib/layout/layout-content-slots.directives\";\r\nexport * from \"./lib/layout/page-list/index.component\";\r\nexport * from \"./lib/layout/page-tab/index.component\";\r\nexport * from \"./lib/layout/grid-box/index.component\";\r\nexport * from \"./lib/layout/multi-tab/index.component\";\r\nexport * from \"./lib/layout/drawer/index.component\";\r\nexport * from \"./lib/layout/nav-card-group/index.component\";\r\n\r\nexport * from \"./lib/actions/toolbar/index.component\";\r\nexport * from \"./lib/actions/toolbar-item/index.component\";\r\n\r\nexport * from \"./lib/layout/main-container/index.component\";\r\nexport * from \"./lib/layout/rs-header/index.component\";\r\nexport * from \"./lib/layout/rs-footer/index.component\";\r\nexport * from \"./lib/layout/rs-aside/index.component\";\r\nexport * from \"./lib/layout/rs-stepper/index.component\";\r\nexport * from \"./lib/layout/rs-stepper/constants\";\r\n\r\nexport * from \"./lib/form/tag-input/index.component\";\r\nexport * from \"./lib/form/radio-group/index.component\";\r\nexport * from \"./lib/form/checkbox-group/index.component\";\r\nexport * from \"./lib/form/switch-input/index.component\";\r\nexport * from \"./lib/form/encrypted-input/index.component\";\r\nexport * from \"./lib/form/search-input/index.component\";\r\nexport * from \"./lib/form/drawer-form/drawer-form.component\";\r\nexport * from \"./lib/form/drawer-form/constants\";\r\nexport * from \"./lib/form/richtexteditor/index.component\";\r\nexport * from \"./lib/form/confirm-select/index.component\";\r\nexport * from \"./lib/form/search-input/index.component\";\r\nexport * from \"./lib/dialog/common-dialog/index.component\";\r\nexport * from \"./lib/dialog/new-action-notification/new-action-notification.component\";\r\nexport * from \"./lib/smart-popup/index.component\";\r\nexport * from \"./lib/dashboard/pane-group-new.component\";\r\nexport * from \"./lib/dashboard/pane-group-new/duplicate-dialog/index.component\";\r\nexport * from \"./lib/dashboard/pane-group-new/rename-dialog/index.component\";\r\nexport * from \"./lib/dashboard/pane-group-new/redirect/index.component\";\r\n\r\nexport * from \"./lib/dashboard/sidebar-iconlist/field-format/field-format.component\";\r\nexport * from \"./lib/dashboard/gadget-group/gadget-table/gadget-table.component\";\r\nexport * from \"./lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component\";\r\nexport * from \"./lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component\";\r\nexport * from \"./lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component\";\r\nexport * from \"./lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component\";\r\nexport * from \"./lib/dashboard/bar-charts/bar-charts.component\";\r\nexport * from \"./lib/dashboard/dialog-group/download/index.component\";\r\nexport * from \"./lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component\";\r\nexport * from \"./lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component\";\r\nexport * from \"./lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component\";\r\nexport * from \"./lib/dashboard/sidebar-iconlist/field-filter/field-filter.component\";\r\n\r\nexport * from \"./lib/service/common-function.service\";\r\nexport * from \"./lib/service/icon-loader.service\";\r\nexport * from \"./lib/service/dialog.service\";\r\nexport * from \"./lib/service/keep-alive.service\";\r\nexport * from \"./lib/service/drawer.service\";\r\nexport * from \"./lib/service/translation.service\";\r\n\r\nexport * from \"./lib/raise-common-lib.module\";\r\nexport * from \"./lib/raise-common-lib-dashboard.module\";\r\n\r\nexport * from \"./lib/service/InjectionToken\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3","i4","i3.FloatBoxComponent","i3.CommonDialogComponent","i1.CommonFunctionService","i2.DialogService","i5.GridActionComponent","i6.GridActionItemComponent","i7.TruncatedTextToggleComponent","debounce","i2.SearchInputComponent","i2.CommonFunctionService","i3.DrawerService","i6","i1.DrawerService","i5","i6.ToolbarItemComponent","i1.TranslationService","i3.RSFooterComponent","i4.DrawerComponent","i7.TagInputComponent","i8.RadioGroupComponent","i9.CheckboxGroupComponent","i10.SwitchInputComponent","i7","i8","i1.ApiList","i3.DialogService","i4.DashboardService","i1.DashboardService","i2.DashboardPorletsService","i4.DialogService","i9","i10.CommonDialogComponent","i3.ApiList","i5.DashboardPorletsService","i10.SearchInputComponent","i11.CommonDialogComponent","i2.DrawerFormComponent","i2.ApiList","i3.DrawerFormComponent","i4.CommonDialogComponent","i2.DashboardService","i3.DashboardPorletsService","ResizeObserver","i1.DashboardPorletsService","i3.DashboardService","i4.ApiList","i6.DashboardPorletsService","i10","i12","i13","i14","i15.FloatBoxComponent","i16.ToolbarItemComponent","i17.SidebarIconlistNewComponent","i18.GadgetTableComponent","i19.GadgetTransposeComponent","i20.BarChartsComponent","_filter","Query","VirtualScrollService","i7.GadgetTableComponent","i8.GadgetTransposeComponent","i9.BarChartsComponent","i8.SearchInputComponent","i9.SmartPopupComponent","ToolbarService","PbfToolbarService","RichEditorToolbarService"],"mappings":"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"}