raise-common-lib 0.0.135 → 0.0.137

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/bundles/raise-common-lib.umd.js +150 -13
  2. package/bundles/raise-common-lib.umd.js.map +1 -1
  3. package/bundles/raise-common-lib.umd.min.js +1 -1
  4. package/bundles/raise-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/lib/commentary/index.component.js +12 -6
  6. package/esm2015/lib/common-grid/index.component.js +40 -3
  7. package/esm2015/lib/layout/main-container/index.component.js +3 -3
  8. package/esm2015/lib/layout/rs-footer/index.component.js +1 -1
  9. package/esm2015/lib/raise-common-lib.module.js +9 -5
  10. package/esm2015/lib/truncated-text-toggle/index.component.js +67 -0
  11. package/esm2015/public-api.js +2 -1
  12. package/esm2015/raise-common-lib.js +2 -2
  13. package/esm5/lib/commentary/index.component.js +15 -7
  14. package/esm5/lib/common-grid/index.component.js +52 -3
  15. package/esm5/lib/layout/main-container/index.component.js +3 -3
  16. package/esm5/lib/layout/rs-footer/index.component.js +1 -1
  17. package/esm5/lib/raise-common-lib.module.js +9 -5
  18. package/esm5/lib/truncated-text-toggle/index.component.js +78 -0
  19. package/esm5/public-api.js +2 -1
  20. package/esm5/raise-common-lib.js +2 -2
  21. package/fesm2015/raise-common-lib.js +126 -14
  22. package/fesm2015/raise-common-lib.js.map +1 -1
  23. package/fesm5/raise-common-lib.js +151 -15
  24. package/fesm5/raise-common-lib.js.map +1 -1
  25. package/lib/common-grid/index.component.d.ts +7 -0
  26. package/lib/truncated-text-toggle/index.component.d.ts +12 -0
  27. package/package.json +1 -1
  28. package/public-api.d.ts +1 -0
  29. package/raise-common-lib.metadata.json +1 -1
  30. package/src/assets/img/click_show_more_icon.svg +3 -0
  31. package/src/assets/img/comment-cancel.svg +4 -4
  32. package/src/assets/img/comment-check.svg +5 -5
  33. package/src/assets/img/drawer-back.svg +4 -4
  34. package/src/assets/img/eye-close.svg +4 -4
  35. package/src/assets/img/eye-open.svg +4 -4
  36. package/src/assets/img/toolbar-action-add.svg +4 -4
  37. package/src/assets/img/toolbar-action-delete.svg +14 -14
  38. package/src/assets/img/toolbar-action-download.svg +5 -5
  39. package/src/assets/img/toolbar-action-duplicate.svg +6 -6
  40. package/src/assets/img/toolbar-action-export.svg +5 -5
  41. package/src/assets/img/toolbar-action-import.svg +5 -5
  42. package/src/assets/img/toolbar-action-refresh.svg +14 -14
  43. package/src/assets/img/toolbar-action-upload.svg +5 -5
  44. package/src/assets/style/reset/grid.scss +3 -1
  45. package/src/assets/style/style.scss +0 -1
@@ -248,6 +248,7 @@
248
248
  this.fields = [];
249
249
  this.dataSource = [];
250
250
  this.allowPaging = true;
251
+ this.allowRowDragAndDrop = false;
251
252
  this.clipMode = "EllipsisWithTooltip";
252
253
  this.checkBoxWidth = 32; // col 数量过少的时候,check宽度会拉伸,这时候设置null
253
254
  /**
@@ -290,6 +291,9 @@
290
291
  this.dataBound = new core.EventEmitter();
291
292
  this.exportQueryCellInfo = new core.EventEmitter();
292
293
  this.rowSelecting = new core.EventEmitter();
294
+ this.rowDrop = new core.EventEmitter();
295
+ this.rowDrag = new core.EventEmitter();
296
+ this.rowDragStart = new core.EventEmitter();
293
297
  this.selectId = [];
294
298
  this.startPaging = false;
295
299
  this.indexList = [];
@@ -425,6 +429,28 @@
425
429
  function (args) {
426
430
  this.exportQueryCellInfo.emit(args);
427
431
  };
432
+ /**
433
+ * @param {?} args
434
+ * @return {?}
435
+ */
436
+ CommonGridComponent.prototype._rowDrag = /**
437
+ * @param {?} args
438
+ * @return {?}
439
+ */
440
+ function (args) {
441
+ this.rowDrag.emit(args);
442
+ };
443
+ /**
444
+ * @param {?} args
445
+ * @return {?}
446
+ */
447
+ CommonGridComponent.prototype._rowDragStart = /**
448
+ * @param {?} args
449
+ * @return {?}
450
+ */
451
+ function (args) {
452
+ this.rowDragStart.emit(args);
453
+ };
428
454
  /**
429
455
  * @param {?} $event
430
456
  * @return {?}
@@ -826,6 +852,17 @@
826
852
  function () {
827
853
  return this.grid.getSelectedRecords();
828
854
  };
855
+ /**
856
+ * @param {?} e
857
+ * @return {?}
858
+ */
859
+ CommonGridComponent.prototype.onRowDrop = /**
860
+ * @param {?} e
861
+ * @return {?}
862
+ */
863
+ function (e) {
864
+ this.rowDrop.emit(e);
865
+ };
829
866
  /**
830
867
  * @param {?} $event
831
868
  * @return {?}
@@ -953,7 +990,7 @@
953
990
  CommonGridComponent.decorators = [
954
991
  { type: core.Component, args: [{
955
992
  selector: "rs-common-grid",
956
- template: "<ejs-grid\r\n\t#grid\r\n\t[id]=\"gridId\"\r\n\t[ngClass]=\"{\r\n\t\t'hide-Check-box': !alwaysShowCheckbox,\r\n\t\t'grid-loading': className === 'grid-loading'\r\n\t}\"\r\n\t[dataSource]=\"dataSource\"\r\n\t[allowPaging]=\"allowPaging && pageSettings\"\r\n\t[allowResizing]=\"true\"\r\n\t[pageSettings]=\"pageSettings\"\r\n\t[showColumnMenu]=\"true\"\r\n\t[allowSorting]=\"true\"\r\n\t[allowFiltering]=\"true\"\r\n\t[allowExcelExport]=\"true\"\r\n\t[filterSettings]=\"filterSettings\"\r\n\t[resizeSettings]=\"resizeSettings\"\r\n\t[allowSelection]=\"true\"\r\n\t[editSettings]=\"editSettings\"\r\n\t[childGrid]=\"childGrid\"\r\n\t[contextMenuItems]=\"\r\n\t\tdataSource && dataSource.length ? contextMenuItems : null\r\n\t\"\r\n\t[selectionSettings]=\"selectionSettings\"\r\n\t(recordClick)=\"_recordClick($event)\"\r\n\t(recordDoubleClick)=\"_recordDoubleClick($event)\"\r\n\t(actionBegin)=\"_actionBegin($event)\"\r\n\t(actionComplete)=\"_actionHandler($event)\"\r\n\t(rowSelected)=\"_rowSelected($event)\"\r\n\t(rowDeselected)=\"_rowDeselected($event)\"\r\n\tstyle=\"border: none\"\r\n\t(contextMenuClick)=\"_onContextMenu($event)\"\r\n\t(contextMenuOpen)=\"contextMenuOpen($event)\"\r\n\t(queryCellInfo)=\"customiseCell($event)\"\r\n\t(dataBound)=\"_dataBound($event)\"\r\n\t(rowDataBound)=\"_rowDataBound($event)\"\r\n\t(rowSelecting)=\"_rowSelecting($event)\"\r\n\t(excelQueryCellInfo)=\"_exportQueryCellInfo($event)\"\r\n\t(load)=\"_load()\"\r\n\t[frozenColumns]=\"frozenColumns\"\r\n\t[columnChooserSettings]=\"columnChooserSettings\"\r\n\r\n>\r\n\t<e-columns>\r\n\t\t<e-column\r\n\t\t\t*ngIf=\"showCheckBox\"\r\n\t\t\ttype=\"checkbox\"\r\n\t\t\t[width]=\"checkBoxWidth\"\r\n\t\t\t[showColumnMenu]=\"false\"\r\n\t\t\t[allowResizing]=\"false\"\r\n\t\t></e-column>\r\n\t\t<e-column\r\n\t\t\t*ngFor=\"let item of fields; trackBy: trackByFn; let last = last\"\r\n\t\t\t[field]=\"item.columnName\"\r\n\t\t\t[filter]=\"item.filter ? item.filter : { type: 'CheckBox' }\"\r\n\t\t\t[customAttributes]=\"\r\n\t\t\t\titem.colName === 'entityUserList' ||\r\n\t\t\t\titem.colName === 'kycProgress'\r\n\t\t\t\t\t? { class: 'hideColumnFilterClass' }\r\n\t\t\t\t\t: {}\r\n\t\t\t\"\r\n\t\t\t[headerText]=\"item.columnDisplayName\"\r\n\t\t\t[textAlign]=\"item.textAlign\"\r\n\t\t\t[showColumnMenu]=\"item.showColumnMenu === undefined ? true : false\"\r\n\t\t\t[allowFiltering]=\"item.allowFiltering === undefined ? true : false\"\r\n\t\t\t[allowSorting]=\"item.allowSorting === undefined ? true : false\"\r\n\t\t\t[editType]=\"item.editType\"\r\n\t\t\t[validationRules]=\"item.validationRules\"\r\n\t\t\t[type]=\"item.dataType || 'string'\"\r\n\t\t\t[width]=\"item.width\"\r\n\t\t\t[minWidth]=\"item.minWidth\"\r\n\t\t\t[format]=\"item.format\"\r\n\t\t\t[visible]=\"item.visible\"\r\n\t\t\t[template]=\"item.showTemplate ? columnTemplate : undefined\"\r\n\t\t\t[clipMode]=\"\r\n\t\t\t\titem.clipMode\r\n\t\t\t\t\t? item.clipMode\r\n\t\t\t\t\t: clipMode || 'EllipsisWithTooltip'\r\n\t\t\t\"\r\n\t\t\t[sortComparer]=\"item.dateComparer\"\r\n\t\t\t[allowResizing]=\"!last\"\r\n\t\t>\r\n\t\t</e-column>\r\n\t</e-columns>\r\n</ejs-grid>\r\n",
993
+ template: "<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 (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 [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 [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\"\r\n [allowResizing]=\"!last\"\r\n >\r\n </e-column>\r\n </e-columns>\r\n</ejs-grid>\r\n",
957
994
  styles: [""]
958
995
  }] }
959
996
  ];
@@ -979,6 +1016,7 @@
979
1016
  columnTemplate: [{ type: core.Input }],
980
1017
  pageSettings: [{ type: core.Input }],
981
1018
  allowPaging: [{ type: core.Input }],
1019
+ allowRowDragAndDrop: [{ type: core.Input }],
982
1020
  clipMode: [{ type: core.Input }],
983
1021
  checkBoxWidth: [{ type: core.Input }],
984
1022
  childGrid: [{ type: core.Input }],
@@ -1001,7 +1039,10 @@
1001
1039
  rowDataBound: [{ type: core.Output }],
1002
1040
  dataBound: [{ type: core.Output }],
1003
1041
  exportQueryCellInfo: [{ type: core.Output }],
1004
- rowSelecting: [{ type: core.Output }]
1042
+ rowSelecting: [{ type: core.Output }],
1043
+ rowDrop: [{ type: core.Output }],
1044
+ rowDrag: [{ type: core.Output }],
1045
+ rowDragStart: [{ type: core.Output }]
1005
1046
  };
1006
1047
  return CommonGridComponent;
1007
1048
  }());
@@ -1041,6 +1082,8 @@
1041
1082
  /** @type {?} */
1042
1083
  CommonGridComponent.prototype.allowPaging;
1043
1084
  /** @type {?} */
1085
+ CommonGridComponent.prototype.allowRowDragAndDrop;
1086
+ /** @type {?} */
1044
1087
  CommonGridComponent.prototype.clipMode;
1045
1088
  /** @type {?} */
1046
1089
  CommonGridComponent.prototype.checkBoxWidth;
@@ -1104,6 +1147,12 @@
1104
1147
  /** @type {?} */
1105
1148
  CommonGridComponent.prototype.rowSelecting;
1106
1149
  /** @type {?} */
1150
+ CommonGridComponent.prototype.rowDrop;
1151
+ /** @type {?} */
1152
+ CommonGridComponent.prototype.rowDrag;
1153
+ /** @type {?} */
1154
+ CommonGridComponent.prototype.rowDragStart;
1155
+ /** @type {?} */
1107
1156
  CommonGridComponent.prototype.selectId;
1108
1157
  /** @type {?} */
1109
1158
  CommonGridComponent.prototype.startPaging;
@@ -2421,7 +2470,9 @@
2421
2470
  * @param {?} ele
2422
2471
  * @return {?}
2423
2472
  */
2424
- function (ele) { return ele[_this.filedsKey.messageId] === item[_this.filedsKey.messageId]; }));
2473
+ function (ele) {
2474
+ return ele[_this.filedsKey.messageId] === item[_this.filedsKey.messageId];
2475
+ }));
2425
2476
  _this.actionComplete.emit({
2426
2477
  action: "deleteComment",
2427
2478
  data: item,
@@ -2481,14 +2532,20 @@
2481
2532
  function (e) {
2482
2533
  /** @type {?} */
2483
2534
  var textarea = e.target;
2484
- textarea.style.height = "auto";
2485
- textarea.style.height = textarea.scrollHeight + "px";
2535
+ if (e.type === "focus" && textarea.value) {
2536
+ textarea.style.height = "auto";
2537
+ textarea.style.height = textarea.scrollHeight + "px";
2538
+ }
2539
+ else if (e.type === "input") {
2540
+ textarea.style.height = "auto";
2541
+ textarea.style.height = textarea.scrollHeight + "px";
2542
+ }
2486
2543
  };
2487
2544
  RsCommentaryComponent.decorators = [
2488
2545
  { type: core.Component, args: [{
2489
2546
  selector: "rs-commentary",
2490
- template: "<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=\"2\"\r\n [(ngModel)]=\"commentVal\"\r\n (input)=\"adjustTextareaHeight($event)\"\r\n [disabled]=\"isReadOnly || !editPermission\"\r\n placeholder=\"Write your comment...\"\r\n ></textarea>\r\n <textarea\r\n *ngIf=\"type === 'reply'\"\r\n class=\"e-input\"\r\n rows=\"2\"\r\n [(ngModel)]=\"replyVal\"\r\n (input)=\"adjustTextareaHeight($event)\"\r\n placeholder=\"Write your comment...\"\r\n ></textarea>\r\n <textarea\r\n *ngIf=\"type === 'editComment'\"\r\n class=\"e-input\"\r\n rows=\"2\"\r\n [(ngModel)]=\"editCommentVal\"\r\n (input)=\"adjustTextareaHeight($event)\"\r\n placeholder=\"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 </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'\">\r\n <rs-grid-action-item\r\n image=\"Edit\"\r\n [text]=\"translation.EDIT\"\r\n [disabled]=\"isReadOnly || !editPermission\"\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\"\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",
2491
- styles: [".rs-commentary-wrap{width:100%;height:100%;padding:32px;display:flex;flex-direction:column}.rs-commentary-wrap .comment-box{width:100%}.rs-commentary-wrap .comment-box .comment-input-wrap{margin-bottom:12px;display:flex;gap:12px}.rs-commentary-wrap .comment-box .comment-input-wrap .e-input{flex:1;width:0;height:44px}.rs-commentary-wrap .comment-box .btn-wrap{display:flex;justify-content:flex-end;gap:12px}.rs-commentary-wrap .comment-box .btn-wrap .e-btn.text{padding:4px}.rs-commentary-wrap .reply-box{height:0;flex:1;overflow:auto;margin-top:16px;margin-right:-32px;padding-right:32px}.rs-commentary-wrap .reply-box .sub-reply-list{padding-left:40px}.rs-commentary-wrap .reply-box .e-btn.text{padding:0!important;min-width:auto;height:auto;color:#6c7c90!important}.rs-commentary-wrap .reply-box .e-btn.text:hover{background:0 0!important;color:#1364b3!important}.rs-commentary-wrap .reply-box .e-btn.text:focus{background:0 0!important;color:#6c7c90!important}.rs-commentary-wrap .reply-box .arrow.collapse{transform:rotate(180deg)}.rs-commentary-wrap .reply-box .reply-item{display:flex;gap:12px;padding:12px 0}.rs-commentary-wrap .reply-box .reply-item.comment{border-top:1px solid #eaedf0}.rs-commentary-wrap .reply-box .reply-item.comment:hover{background-color:#f6faff}.rs-commentary-wrap .reply-box .reply-item.comment:hover rs-grid-action{display:block}.rs-commentary-wrap .reply-box .reply-item rs-grid-action{display:none;position:absolute;cursor:pointer;top:-4px;right:8px}.rs-commentary-wrap .reply-box .owner-wrap{flex:1;width:0;position:relative}.rs-commentary-wrap .reply-box .owner-wrap .owner-info{display:flex;align-items:center;gap:12px}.rs-commentary-wrap .reply-box .owner-wrap .owner-info .name{color:#44566c;font-family:Arial;font-size:12px;font-style:normal;font-weight:700;line-height:14px}.rs-commentary-wrap .reply-box .owner-wrap .owner-info .time{color:#6c7c90;font-family:Arial;font-size:10px;font-style:normal;font-weight:400;line-height:12px}.rs-commentary-wrap .reply-box .owner-wrap .message-wrap{padding:8px 0}.rs-commentary-wrap .reply-box .owner-wrap .message-wrap .message{color:#44566c;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.rs-commentary-wrap .avatar{width:32px;height:32px;border-radius:100%;border:1px solid rgba(108,124,144,.4);color:#44566c;display:flex;align-items:center;justify-content:center;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px}"]
2547
+ template: "<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=\"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=\"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=\"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'\">\r\n <rs-grid-action-item\r\n image=\"Edit\"\r\n [text]=\"translation.EDIT\"\r\n [disabled]=\"isReadOnly || !editPermission\"\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\"\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",
2548
+ styles: [".rs-commentary-wrap{width:100%;height:100%;padding:32px;display:flex;flex-direction:column}.rs-commentary-wrap .comment-box{width:100%}.rs-commentary-wrap .comment-box .comment-input-wrap{margin-bottom:12px;display:flex;gap:12px}.rs-commentary-wrap .comment-box .comment-input-wrap .e-input{flex:1;width:0;height:62px}.rs-commentary-wrap .comment-box .btn-wrap{display:flex;justify-content:flex-end;gap:12px}.rs-commentary-wrap .comment-box .btn-wrap .e-btn.text{padding:4px}.rs-commentary-wrap .reply-box{height:0;flex:1;overflow:auto;margin-top:16px;margin-right:-32px;padding-right:32px}.rs-commentary-wrap .reply-box .sub-reply-list{padding-left:40px}.rs-commentary-wrap .reply-box .e-btn.text{padding:0!important;min-width:auto;height:auto;color:#6c7c90!important}.rs-commentary-wrap .reply-box .e-btn.text:hover{background:0 0!important;color:#1364b3!important}.rs-commentary-wrap .reply-box .e-btn.text:focus{background:0 0!important;color:#6c7c90!important}.rs-commentary-wrap .reply-box .arrow.collapse{transform:rotate(180deg)}.rs-commentary-wrap .reply-box .reply-item{display:flex;gap:12px;padding:12px 0}.rs-commentary-wrap .reply-box .reply-item.comment{border-top:1px solid #eaedf0}.rs-commentary-wrap .reply-box .reply-item.comment:hover{background-color:#f6faff}.rs-commentary-wrap .reply-box .reply-item.comment:hover rs-grid-action{display:block}.rs-commentary-wrap .reply-box .reply-item rs-grid-action{display:none;position:absolute;cursor:pointer;top:-4px;right:8px}.rs-commentary-wrap .reply-box .owner-wrap{flex:1;width:0;position:relative}.rs-commentary-wrap .reply-box .owner-wrap .owner-info{display:flex;align-items:center;gap:8px;height:28px}.rs-commentary-wrap .reply-box .owner-wrap .owner-info .name{color:#44566c;font-family:Arial;font-size:12px;font-style:normal;font-weight:700;line-height:14px}.rs-commentary-wrap .reply-box .owner-wrap .owner-info .time{color:#6c7c90;font-family:Arial;font-size:10px;font-style:normal;font-weight:400;line-height:12px}.rs-commentary-wrap .reply-box .owner-wrap .message-wrap{padding:12px 0}.rs-commentary-wrap .reply-box .owner-wrap .message-wrap .message{color:#44566c;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:16px;padding-right:8px;white-space:pre-wrap}.rs-commentary-wrap .avatar{width:32px;height:32px;border-radius:100%;border:1px solid rgba(108,124,144,.4);color:#44566c;display:flex;align-items:center;justify-content:center;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px}"]
2492
2549
  }] }
2493
2550
  ];
2494
2551
  /** @nocollapse */
@@ -2525,7 +2582,7 @@
2525
2582
  __metadata("design:returntype", void 0)
2526
2583
  ], RsCommentaryComponent.prototype, "addReply", null);
2527
2584
  __decorate([
2528
- Debounce(300),
2585
+ Debounce(100),
2529
2586
  __metadata("design:type", Function),
2530
2587
  __metadata("design:paramtypes", [Object]),
2531
2588
  __metadata("design:returntype", void 0)
@@ -2571,6 +2628,82 @@
2571
2628
  RsCommentaryComponent.prototype.ref;
2572
2629
  }
2573
2630
 
2631
+ /**
2632
+ * @fileoverview added by tsickle
2633
+ * Generated from: lib/truncated-text-toggle/index.component.ts
2634
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2635
+ */
2636
+ var TruncatedTextToggleComponent = /** @class */ (function () {
2637
+ function TruncatedTextToggleComponent() {
2638
+ this.showData = "";
2639
+ this.showExpandMoreBtn = false;
2640
+ this.showCollapseBtn = false;
2641
+ }
2642
+ /**
2643
+ * @return {?}
2644
+ */
2645
+ TruncatedTextToggleComponent.prototype.ngOnInit = /**
2646
+ * @return {?}
2647
+ */
2648
+ function () {
2649
+ if (this.data.length > this.maximum) {
2650
+ this.showExpandMoreBtn = true;
2651
+ this.showData = this.data.substring(0, this.maximum) + "...";
2652
+ }
2653
+ else {
2654
+ this.showData = this.data;
2655
+ }
2656
+ };
2657
+ /**
2658
+ * @return {?}
2659
+ */
2660
+ TruncatedTextToggleComponent.prototype.showAll = /**
2661
+ * @return {?}
2662
+ */
2663
+ function () {
2664
+ this.showExpandMoreBtn = false;
2665
+ this.showCollapseBtn = true;
2666
+ this.showData = this.data;
2667
+ };
2668
+ /**
2669
+ * @return {?}
2670
+ */
2671
+ TruncatedTextToggleComponent.prototype.collapse = /**
2672
+ * @return {?}
2673
+ */
2674
+ function () {
2675
+ this.showExpandMoreBtn = true;
2676
+ this.showCollapseBtn = false;
2677
+ this.showData = this.data.substring(0, this.maximum) + "...";
2678
+ };
2679
+ TruncatedTextToggleComponent.decorators = [
2680
+ { type: core.Component, args: [{
2681
+ selector: "truncated-text-toggle",
2682
+ template: "<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",
2683
+ styles: [".click-show-more-content{word-wrap:break-word}.click-show-more-content .show-more{cursor:pointer;color:#1364b3;font-size:11px;margin-left:4px;vertical-align:middle}.click-show-more-content .show-more img{margin-left:2px;vertical-align:middle}.click-show-more-content .collapse-btn{display:flex;align-items:center;justify-content:flex-end}.click-show-more-content .collapse-btn img{transform:rotate(-180deg)}"]
2684
+ }] }
2685
+ ];
2686
+ /** @nocollapse */
2687
+ TruncatedTextToggleComponent.ctorParameters = function () { return []; };
2688
+ TruncatedTextToggleComponent.propDecorators = {
2689
+ data: [{ type: core.Input }],
2690
+ maximum: [{ type: core.Input }]
2691
+ };
2692
+ return TruncatedTextToggleComponent;
2693
+ }());
2694
+ if (false) {
2695
+ /** @type {?} */
2696
+ TruncatedTextToggleComponent.prototype.data;
2697
+ /** @type {?} */
2698
+ TruncatedTextToggleComponent.prototype.maximum;
2699
+ /** @type {?} */
2700
+ TruncatedTextToggleComponent.prototype.showData;
2701
+ /** @type {?} */
2702
+ TruncatedTextToggleComponent.prototype.showExpandMoreBtn;
2703
+ /** @type {?} */
2704
+ TruncatedTextToggleComponent.prototype.showCollapseBtn;
2705
+ }
2706
+
2574
2707
  /**
2575
2708
  * @fileoverview added by tsickle
2576
2709
  * Generated from: lib/layout/page-list/index.component.ts
@@ -21156,8 +21289,8 @@
21156
21289
  MainContainerComponent.decorators = [
21157
21290
  { type: core.Component, args: [{
21158
21291
  selector: "rs-main-container",
21159
- template: "<div class=\"app-main-container\">\r\n <ng-content select=\"[headerSlot]\"></ng-content>\r\n <div class=\"main-page\">\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",
21160
- styles: [".app-main-container{display:flex;flex-direction:column;height:100vh}.app-main-container .main-page{flex:1;height:0;display:flex;background-color:var(--rs-container-bg)}.app-main-container .left-aside{height:100%}.app-main-container .right-aside{width:0;flex:1;display:flex;flex-direction:column;padding-right:12px}.app-main-container .right-aside .router-content{flex:1;overflow:auto;max-width:1886px;width:100%;margin:0 auto}@media (max-width:992px){.app-main-container .right-aside.isCollapsed{position:relative}.app-main-container .right-aside.isCollapsed::after{content:\" \";position:absolute;z-index:5;inset:0;background-color:rgba(0,0,0,.2)}}"]
21292
+ template: "<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\">\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",
21293
+ styles: [".app-main-container-wrap{width:100%;overflow:auto;height:100vh}@media (max-width:768px){.app-main-container-wrap{height:calc(100vh - 40px)}}.app-main-container{display:flex;flex-direction:column;height:100%;min-width:768px}.app-main-container .main-page{flex:1;height:0;display:flex;background-color:var(--rs-container-bg)}.app-main-container .left-aside{height:100%}.app-main-container .right-aside{width:0;flex:1;display:flex;flex-direction:column;padding-right:12px}.app-main-container .right-aside .router-content{flex:1;overflow:auto;max-width:1886px;width:100%;margin:0 auto}@media (max-width:992px){.app-main-container .right-aside.isCollapsed{position:relative}.app-main-container .right-aside.isCollapsed::after{content:\" \";position:absolute;z-index:5;inset:0;background-color:rgba(0,0,0,.2)}}"]
21161
21294
  }] }
21162
21295
  ];
21163
21296
  /** @nocollapse */
@@ -21232,7 +21365,7 @@
21232
21365
  { type: core.Component, args: [{
21233
21366
  selector: 'rs-footer',
21234
21367
  template: "<div class=\"rs-footer\">\r\n <span>\r\n RAISE<sup>&reg;</sup>\u00A0\u00A9\u00A0\r\n {{ today | date : \"yyyy\" }}\r\n Linnovate Partners</span\r\n >\r\n</div>\r\n",
21235
- styles: [".rs-footer{height:40px;padding:0 24px;display:flex;align-items:center;background-color:var(--rs-container-bg);color:var(--rs-labels-color);font-family:var(--rs-font-family);font-size:11px;max-width:1886px;margin:0 auto}"]
21368
+ styles: [".rs-footer{height:40px;padding:0 24px;display:flex;align-items:center;background-color:var(--rs-container-bg);color:var(--rs-labels-color);font-family:var(--rs-font-family);font-size:11px;max-width:1886px;margin:0 auto}@media (max-width:768px){.rs-footer{width:100%;position:fixed;bottom:0;left:0}}"]
21236
21369
  }] }
21237
21370
  ];
21238
21371
  return RSFooterComponent;
@@ -23036,7 +23169,8 @@
23036
23169
  ToolbarItemComponent,
23037
23170
  RsCommentaryComponent,
23038
23171
  RSNavCardGroupComponent,
23039
- RSToolbarComponent
23172
+ RSToolbarComponent,
23173
+ TruncatedTextToggleComponent
23040
23174
  ],
23041
23175
  imports: [
23042
23176
  common.CommonModule,
@@ -23087,6 +23221,7 @@
23087
23221
  ],
23088
23222
  providers: [
23089
23223
  ej2AngularGrids.PageService,
23224
+ ej2AngularGrids.RowDDService,
23090
23225
  ej2AngularGrids.SortService,
23091
23226
  ej2AngularGrids.FilterService,
23092
23227
  ej2AngularGrids.ExcelExportService,
@@ -23187,7 +23322,8 @@
23187
23322
  ToolbarItemComponent,
23188
23323
  RsCommentaryComponent,
23189
23324
  RSNavCardGroupComponent,
23190
- RSToolbarComponent
23325
+ RSToolbarComponent,
23326
+ TruncatedTextToggleComponent
23191
23327
  ],
23192
23328
  entryComponents: [
23193
23329
  NewActionNotificationComponent,
@@ -23233,6 +23369,7 @@
23233
23369
  exports.TagInputComponent = TagInputComponent;
23234
23370
  exports.ToolbarItemComponent = ToolbarItemComponent;
23235
23371
  exports.TranslationService = TranslationService;
23372
+ exports.TruncatedTextToggleComponent = TruncatedTextToggleComponent;
23236
23373
  exports.filterShowSection = filterShowSection;
23237
23374
  exports.ɵa = Debounce;
23238
23375
  exports.ɵb = NewActionNotificationComponent;