vcomply-workflow-engine 7.4.6 → 7.4.8

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.
@@ -46922,47 +46922,24 @@ const RESPONSIBILITY = {
46922
46922
  }
46923
46923
  };
46924
46924
 
46925
- class BulkUploadService {
46926
- constructor() { }
46927
- hasDataInList(data, dataStartIndex) {
46928
- const listData = XLSX.utils.sheet_to_json(data, {
46929
- header: 1, raw: false,
46930
- });
46931
- let finalData = listData.slice(0, dataStartIndex);
46932
- return this.checkEmptyFile(finalData);
46933
- }
46934
- checkEmptyFile(data) {
46935
- let isEmpty = false;
46936
- data = data.filter((dataElement) => dataElement.length > 0);
46937
- if (data.length < 1) {
46938
- isEmpty = true;
46939
- }
46940
- return isEmpty;
46941
- }
46942
- checkCorrectFile(data, headerIndex) {
46943
- const listData = XLSX.utils.sheet_to_json(data, {
46944
- header: 1, raw: false,
46945
- });
46946
- const header = cloneDeep$1(listData[headerIndex]);
46947
- if (headerIndex === 2) {
46948
- return header[0] === 'Responsibility Name*' ? true : false;
46949
- }
46950
- else if (headerIndex === 0) {
46951
- return header[0] === 'Enter Responsibility Name*' ? true : false;
46952
- }
46953
- return false;
46954
- }
46955
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BulkUploadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
46956
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BulkUploadService, providedIn: 'root' }); }
46957
- }
46958
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BulkUploadService, decorators: [{
46959
- type: Injectable,
46960
- args: [{
46961
- providedIn: 'root'
46962
- }]
46963
- }], ctorParameters: function () { return []; } });
46964
-
46965
- const RISK_CLASS_LIST = ['high', 'low-medium', 'low', 'medium-high'];
46925
+ const RISK_CLASS_LIST = [
46926
+ 'high',
46927
+ 'medium-high',
46928
+ 'medium',
46929
+ 'low-medium',
46930
+ 'low',
46931
+ ];
46932
+ const VALIDATION_SEVERITY = {
46933
+ ERROR: 'error',
46934
+ WARNING: 'warning',
46935
+ INFO: 'info',
46936
+ };
46937
+ const NON_BLOCKING_DROPDOWN_FIELDS = [
46938
+ 'assignor',
46939
+ 'assigneeType',
46940
+ 'keyResponsibility',
46941
+ 'dueTime',
46942
+ ];
46966
46943
  const YES_NO_DROPDOWN_LIST = ['Yes', 'No'];
46967
46944
  const PROGRAM_TYPE_DROPDOWN_LIST = [
46968
46945
  'Regulations',
@@ -47005,6 +46982,28 @@ const FREQUENCY_DROPDOWN_LIST = [
47005
46982
  'One Time',
47006
46983
  'Other Frequency',
47007
46984
  ];
46985
+ /** Due Date (Day) max is 7 for these frequencies (DD-02). */
46986
+ const WEEKDAY_FREQUENCIES = [
46987
+ 'weekly',
46988
+ 'every week',
46989
+ 'every 2 weeks',
46990
+ 'every 3 weeks',
46991
+ 'every fortnight',
46992
+ ];
46993
+ const SHORT_MONTH_NAMES = [
46994
+ 'jan',
46995
+ 'feb',
46996
+ 'mar',
46997
+ 'apr',
46998
+ 'may',
46999
+ 'jun',
47000
+ 'jul',
47001
+ 'aug',
47002
+ 'sep',
47003
+ 'oct',
47004
+ 'nov',
47005
+ 'dec',
47006
+ ];
47008
47007
  const FULL_MONTH_NAMES = [
47009
47008
  'January',
47010
47009
  'February',
@@ -47019,8 +47018,108 @@ const FULL_MONTH_NAMES = [
47019
47018
  'November',
47020
47019
  'December',
47021
47020
  ];
47021
+ const FILE_VALIDATION_MESSAGES = {
47022
+ HEADERS_MISSING: 'One or more required columns are missing or have been renamed. Use the original VComply template without modifying column headers.',
47023
+ EXTRA_COLUMNS: 'Additional columns have been detected in the template. Please do not insert or delete columns. Download a fresh template and re-populate.',
47024
+ };
47025
+ const REQUIRED_TEMPLATE_HEADERS = [
47026
+ 'responsibility name',
47027
+ 'entrusted by',
47028
+ 'key responsibility',
47029
+ 'risk class',
47030
+ 'format',
47031
+ 'evidence',
47032
+ 'reviewer',
47033
+ ];
47034
+ const REQUIRED_FREQUENCY_HEADERS = ['frequency'];
47035
+ const REQUIRED_ASSIGNEE_HEADERS = ['entrust to', 'person or group'];
47036
+ const ALLOWED_TEMPLATE_HEADERS = [
47037
+ 'responsibility name',
47038
+ 'program',
47039
+ 'program type',
47040
+ 'program category',
47041
+ 'entrusted by',
47042
+ 'entrust to',
47043
+ 'person or group',
47044
+ 'all or any persons',
47045
+ 'key responsibility',
47046
+ 'frequency of occurrence and completion window',
47047
+ 'frequency',
47048
+ 'due date',
47049
+ 'due time',
47050
+ 'start',
47051
+ 'fail',
47052
+ 'responsibility ends after occurences',
47053
+ 'responsibility ends after occurrences',
47054
+ 'responsibility ends by date',
47055
+ 'responsibility centre',
47056
+ 'responsibility center',
47057
+ 'risk class',
47058
+ 'objective',
47059
+ 'notes',
47060
+ 'format & evidence',
47061
+ 'format and evidence',
47062
+ 'format',
47063
+ 'format for responsibility',
47064
+ 'evidence',
47065
+ 'review of responsibility',
47066
+ 'reviewer',
47067
+ 'reviewer type',
47068
+ 'review start',
47069
+ 'review fail',
47070
+ 'overseer',
47071
+ 'always notify',
47072
+ 'notify on failure',
47073
+ 'collaborator',
47074
+ 'assessments or checkpoints',
47075
+ 'who should be shown',
47076
+ 'created the responsibility',
47077
+ 'number of occurrences',
47078
+ 'specify the type',
47079
+ 'no. of days',
47080
+ 'completion window',
47081
+ 'entrusted to',
47082
+ 'assignor',
47083
+ 'assignee',
47084
+ ];
47022
47085
  const VALIDATION_MESSAGES = {
47023
47086
  DROPDOWN: 'The data added in this field is not valid. Select from the dropdown provided in the template.',
47087
+ FILE_HEADERS_MISSING: FILE_VALIDATION_MESSAGES.HEADERS_MISSING,
47088
+ FILE_EXTRA_COLUMNS: FILE_VALIDATION_MESSAGES.EXTRA_COLUMNS,
47089
+ RESPONSIBILITY_NAME_REQUIRED: 'This is a mandatory field. Enter a name for this responsibility.',
47090
+ RESPONSIBILITY_NAME_WHITESPACE: 'Responsibility Name cannot be blank or contain only spaces.',
47091
+ PROGRAM_CATEGORY_MISMATCH: 'Program Category does not belong to the selected Program. Select a valid category for this Program.',
47092
+ PROGRAM_CATEGORY_WITHOUT_PROGRAM: 'Program Category has been provided without a Program. Select a Program, or clear the Program Category field.',
47093
+ PROGRAM_TYPE_WITHOUT_PROGRAM: 'Program Type has been provided without a Program. Please also select a Program, or clear the Program Type field.',
47094
+ ENTRUSTED_BY_INVALID: 'This is not a valid user. Select a user from the dropdown or leave blank to use your account as the default.',
47095
+ ENTRUSTED_BY_INACTIVE: 'The user selected in this field is inactive. Select an active user or leave blank to use your account as the default.',
47096
+ ASSIGNEE_REQUIRED: 'This is a mandatory field. Select a user or group.',
47097
+ ASSIGNEE_INVALID: 'This is not a valid user or group in VComply. Select from the dropdown provided in the template.',
47098
+ ASSIGNEE_INACTIVE: 'The user selected in this field is inactive. Select an active user or group.',
47099
+ ASSIGNEE_TYPE_INVALID: 'The data added in this field is not valid. Select from the dropdown provided in the template or the default selection of "Any select person can completed this" will be applied.',
47100
+ GROUP_ALL_ANY_BLANK: "A group has been assigned. The default selection of 'Any selected person can complete this' will be applied.",
47101
+ KEY_RESPONSIBILITY_INVALID: "The data added in this field is not valid. Please select 'Yes', 'No', or leave blank (defaults to 'Not a Key Responsibility').",
47102
+ FREQUENCY_REQUIRED: 'This is mandatory field. Select a frequency.',
47103
+ DUE_DATE_DAY_NOT_NUMBER: 'The data added in this field is not valid. Enter a number from the dropdown provided in the template.',
47104
+ DUE_DATE_DAY_OUT_OF_RANGE: 'The value provided is out of range for a [Weekly] frequency. Select a valid option.',
47105
+ DUE_DATE_REQUIRED: 'This is mandatory field. Select from the dropdown provided in the template.',
47106
+ DUE_DATE_MONTH_INVALID: 'The data added in this field is not valid. Select a month from the dropdown provided in the template.',
47107
+ DUE_TIME_BLANK: 'The responsibilities will be created with a default time of 11:30 PM according to your VComply timezone.',
47108
+ RC_TYPE_WITHOUT_NAME: 'Responsibility Center Type has been provided without a Responsibility Center Name. Enter the Responsibility Center name.',
47109
+ RC_INACTIVE: 'This Responsibility Center no longer exists in VComply. Select an active Responsibility Center or leave blank.',
47110
+ FORMAT_LINK_WITHOUT_YES: 'A format link has been provided but Format selecton is set to "No". Set the Format field to "Yes" and upload the template again.',
47111
+ FORMAT_INVALID_URL: 'This is an invalid URL.',
47112
+ REVIEWER_INACTIVE: 'This user is inactive. Select an active user or group.',
47113
+ REVIEW_WINDOW_WITHOUT_REVIEWER: 'Review window has been specified but no Reviewer has been selected. Select a Reviewer, or clear these fields.',
47114
+ OVERSIGHT_DUPLICATE_ASSIGNEE: 'This user is already assigned as the primary Assignee. Adding them to oversight is redundant.',
47115
+ OVERSIGHT_DUPLICATE_ASSIGNOR: 'This user is already assigned as the Assignor. Adding them to oversight is redundant.',
47116
+ OVERSIGHT_INACTIVE: 'This user is inactive. Select an active user or group.',
47117
+ COLLABORATOR_INACTIVE: 'This user is inactive. Select an active user.',
47118
+ COLLABORATOR_GROUP: 'Collaborators must be individual users, not groups. Please select a specific user for the Collaborator field.',
47119
+ ONE_TIME_LIFECYCLE: "A 'One Time' responsibility cannot also have a lifecycle end rule. Clear the Ends After Occurrences and Ends By Date fields.",
47120
+ ENDS_AFTER_ONE_OCCURRENCE: "Ending after 1 occurrence is equivalent to a 'One Time' responsibility. Consider using the 'One Time' frequency instead.",
47121
+ USER_NOT_IN_PROGRAM: 'This user is not associated with the selected Program.',
47122
+ PAST_DUE_DATE: 'This date occurs in the past. Select a future date.',
47024
47123
  RISK_CLASS: 'Invalid risk class. Select a valid option from the drop-down list.',
47025
47124
  DAY: 'Invalid day selection. Select a valid day from the drop-down list in the template.',
47026
47125
  DATE_FORMAT: 'Invalid date format. Select a valid date from the drop-down list in the template.',
@@ -47034,11 +47133,198 @@ const VALIDATION_MESSAGES = {
47034
47133
  ENDS_BY_DATE_INCOMPLETE: 'Ends By Date requires both a day and a month. Please complete both fields or clear both to leave the end date unset.',
47035
47134
  ENDS_BY_DATE_PAST: 'The Ends By Date is in the past. This responsibility will be created with no future occurrences.',
47036
47135
  ENDS_BY_DATE_CONFLICT: "You have provided values for both 'Ends After Occurrences' and 'Ends By Date'. Fill in only one, or leave both blank if the responsibility will always be active.",
47037
- };
47136
+ };
47137
+ function dueDateDayOutOfRangeMessage(frequency) {
47138
+ return `The value provided is out of range for a [${frequency}] frequency. Select a valid option.`;
47139
+ }
47140
+
47141
+ class BulkUploadService {
47142
+ constructor() { }
47143
+ hasDataInList(data, dataStartIndex) {
47144
+ const listData = XLSX.utils.sheet_to_json(data, {
47145
+ header: 1, raw: false,
47146
+ });
47147
+ let finalData = listData.slice(0, dataStartIndex);
47148
+ return this.checkEmptyFile(finalData);
47149
+ }
47150
+ checkEmptyFile(data) {
47151
+ let isEmpty = false;
47152
+ data = data.filter((dataElement) => dataElement.length > 0);
47153
+ if (data.length < 1) {
47154
+ isEmpty = true;
47155
+ }
47156
+ return isEmpty;
47157
+ }
47158
+ checkCorrectFile(data, headerIndex) {
47159
+ const listData = XLSX.utils.sheet_to_json(data, {
47160
+ header: 1, raw: false,
47161
+ });
47162
+ const header = cloneDeep$1(listData[headerIndex]);
47163
+ if (headerIndex === 2) {
47164
+ return header[0] === 'Responsibility Name*' ? true : false;
47165
+ }
47166
+ else if (headerIndex === 0) {
47167
+ return header[0] === 'Enter Responsibility Name*' ? true : false;
47168
+ }
47169
+ return false;
47170
+ }
47171
+ getHeaderRows(data) {
47172
+ const listData = XLSX.utils.sheet_to_json(data, {
47173
+ header: 1,
47174
+ raw: false,
47175
+ });
47176
+ const rows = listData.filter((res) => {
47177
+ let isUndefined = '';
47178
+ (res || []).forEach((el) => {
47179
+ isUndefined = isUndefined + el;
47180
+ });
47181
+ if (listData[2] && listData[2][1] === 'Program') {
47182
+ return !(res?.length === 9 && res[8] === '' && !isUndefined.length);
47183
+ }
47184
+ return !(res?.length === 6 && res[5] === '' && !isUndefined.length);
47185
+ });
47186
+ return {
47187
+ header: cloneDeep$1(rows[2] || []),
47188
+ subHeading: cloneDeep$1(rows[3] || []),
47189
+ };
47190
+ }
47191
+ /**
47192
+ * F-02: required header missing or renamed.
47193
+ * F-03: extra columns inserted.
47194
+ */
47195
+ validateResponsibilityHeaders(sheets) {
47196
+ let sawSheet = false;
47197
+ let missing = false;
47198
+ let extra = false;
47199
+ (sheets || []).forEach((sheet) => {
47200
+ const header = sheet?.header || [];
47201
+ if (!header.some((cell) => this.normalizeHeaderLabel(cell))) {
47202
+ return;
47203
+ }
47204
+ sawSheet = true;
47205
+ const status = this.validateSheetHeaders(header, sheet?.subHeading || [], sheet?.sheet);
47206
+ if (status === 'missing') {
47207
+ missing = true;
47208
+ }
47209
+ else if (status === 'extra') {
47210
+ extra = true;
47211
+ }
47212
+ });
47213
+ if (!sawSheet || missing) {
47214
+ return 'missing';
47215
+ }
47216
+ return extra ? 'extra' : 'ok';
47217
+ }
47218
+ validateSheetHeaders(header = [], subHeading = [], sheet) {
47219
+ const firstHeader = this.normalizeHeaderLabel(header[0]);
47220
+ if (!firstHeader.includes('responsibility name')) {
47221
+ return 'missing';
47222
+ }
47223
+ const hasProgram = this.hasProgramColumns(header);
47224
+ const expectedKeyIndex = hasProgram ? 7 : 4;
47225
+ const keyIndex = this.findLabelIndex(header, subHeading, 'key responsibility');
47226
+ if (keyIndex === -1) {
47227
+ return 'missing';
47228
+ }
47229
+ // An inserted column shifts Key Responsibility off its template index
47230
+ // (program templates: H / 7, otherwise: E / 4). That is F-03, not a remap.
47231
+ if (keyIndex !== expectedKeyIndex) {
47232
+ return 'extra';
47233
+ }
47234
+ const hasAssigneeColumn = this.findLabelIndex(header, subHeading, 'entrust to') !== -1 ||
47235
+ this.findLabelIndex(header, subHeading, 'person or group') !== -1 ||
47236
+ this.findLabelIndex(header, subHeading, 'entrusted by') !== -1;
47237
+ if (!hasAssigneeColumn) {
47238
+ return 'missing';
47239
+ }
47240
+ if (sheet === 'frequency') {
47241
+ const frequencyIndex = this.findLabelIndex(header, subHeading, 'frequency');
47242
+ if (frequencyIndex === -1) {
47243
+ return 'missing';
47244
+ }
47245
+ const expectedFrequencyIndex = hasProgram ? 8 : 5;
47246
+ if (frequencyIndex !== expectedFrequencyIndex) {
47247
+ return 'extra';
47248
+ }
47249
+ }
47250
+ const lastIndex = Math.max(this.lastFilledIndex(header), this.lastFilledIndex(subHeading));
47251
+ if (lastIndex < 8) {
47252
+ return 'missing';
47253
+ }
47254
+ if (lastIndex > this.getExpectedLastHeaderIndex(header, subHeading, sheet)) {
47255
+ return 'extra';
47256
+ }
47257
+ return 'ok';
47258
+ }
47259
+ hasProgramColumns(header = []) {
47260
+ return (header[1] === 'Program' ||
47261
+ this.normalizeHeaderLabel(header[1]) === 'program');
47262
+ }
47263
+ findLabelIndex(header = [], subHeading = [], needle) {
47264
+ const maxLen = Math.max(header.length, subHeading.length);
47265
+ for (let index = 0; index < maxLen; index++) {
47266
+ const headerLabel = this.normalizeHeaderLabel(header[index]);
47267
+ const subLabel = this.normalizeHeaderLabel(subHeading[index]);
47268
+ if (headerLabel.includes(needle) || subLabel.includes(needle)) {
47269
+ return index;
47270
+ }
47271
+ }
47272
+ return -1;
47273
+ }
47274
+ getExpectedLastHeaderIndex(header = [], subHeading = [], sheet) {
47275
+ const hasProgram = this.hasProgramColumns(header);
47276
+ const hasExtended = [...header, ...subHeading].some((cell) => {
47277
+ const label = this.normalizeHeaderLabel(cell);
47278
+ return (label.includes('due time') ||
47279
+ label.includes('responsibility ends after') ||
47280
+ label.includes('responsibility ends by date'));
47281
+ });
47282
+ if (sheet === 'ongoing') {
47283
+ return hasProgram ? 22 : 20;
47284
+ }
47285
+ if (hasProgram && hasExtended) {
47286
+ return 31;
47287
+ }
47288
+ if (hasProgram) {
47289
+ return 27;
47290
+ }
47291
+ if (hasExtended) {
47292
+ return 26;
47293
+ }
47294
+ return 22;
47295
+ }
47296
+ getMaxHeaderIndex(header = [], subHeading = [], sheet) {
47297
+ return this.getExpectedLastHeaderIndex(header, subHeading, sheet);
47298
+ }
47299
+ normalizeHeaderLabel(value) {
47300
+ return String(value ?? '')
47301
+ .replace(/[\u200B-\u200D\uFEFF]/g, '')
47302
+ .replace(/\u00a0/g, ' ')
47303
+ .replace(/\*/g, '')
47304
+ .replace(/\s+/g, ' ')
47305
+ .trim()
47306
+ .toLowerCase();
47307
+ }
47308
+ lastFilledIndex(row = []) {
47309
+ for (let index = row.length - 1; index >= 0; index--) {
47310
+ if (this.normalizeHeaderLabel(row[index])) {
47311
+ return index;
47312
+ }
47313
+ }
47314
+ return -1;
47315
+ }
47316
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BulkUploadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
47317
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BulkUploadService, providedIn: 'root' }); }
47318
+ }
47319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BulkUploadService, decorators: [{
47320
+ type: Injectable,
47321
+ args: [{
47322
+ providedIn: 'root'
47323
+ }]
47324
+ }], ctorParameters: function () { return []; } });
47038
47325
 
47039
47326
  class BulkResponsibilityViewComponent {
47040
47327
  constructor() {
47041
- this.VALIDATION_MESSAGES = VALIDATION_MESSAGES;
47042
47328
  this.loader = false;
47043
47329
  this.tabType = 'frequency';
47044
47330
  this.submitResponsibilityBulkUpload = new EventEmitter();
@@ -47050,6 +47336,35 @@ class BulkResponsibilityViewComponent {
47050
47336
  this.isHorizontallyScrolled = false;
47051
47337
  this.responsibilityMultiTabBulkUpload = [];
47052
47338
  }
47339
+ cellSeverity(report, field) {
47340
+ return report?.fieldValidation?.[field]?.severity || '';
47341
+ }
47342
+ cellMessage(report, field) {
47343
+ return report?.fieldValidation?.[field]?.message || '';
47344
+ }
47345
+ cellClass(report, field) {
47346
+ return this.cellSeverity(report, field);
47347
+ }
47348
+ rowIndexClass(report) {
47349
+ const issues = Object.values(report?.fieldValidation || {});
47350
+ if (!report?.isValid || issues.some((issue) => issue?.severity === 'error')) {
47351
+ return 'error';
47352
+ }
47353
+ if (issues.some((issue) => issue?.severity === 'warning')) {
47354
+ return 'warning';
47355
+ }
47356
+ if (issues.some((issue) => issue?.severity === 'info')) {
47357
+ return 'info';
47358
+ }
47359
+ return '';
47360
+ }
47361
+ isUploadable(report) {
47362
+ const issues = Object.values(report?.fieldValidation || {});
47363
+ if (issues.length) {
47364
+ return !issues.some((issue) => issue?.severity === 'error');
47365
+ }
47366
+ return !!report?.isValid;
47367
+ }
47053
47368
  get hasExtendedFrequencyColumns() {
47054
47369
  return !!this.responsibilityBulkUpload?.hasExtendedFrequencyColumns;
47055
47370
  }
@@ -47060,7 +47375,7 @@ class BulkResponsibilityViewComponent {
47060
47375
  if (this.responsibilityBulkUpload) {
47061
47376
  this.finalResponsibilities = 0;
47062
47377
  this.responsibilityBulkUpload?.reports.forEach((risk) => {
47063
- if (risk.isValid) {
47378
+ if (this.isUploadable(risk)) {
47064
47379
  this.finalResponsibilities += 1;
47065
47380
  }
47066
47381
  });
@@ -47068,10 +47383,10 @@ class BulkResponsibilityViewComponent {
47068
47383
  if (this.responsibilityType === 'multiTab') {
47069
47384
  this.responsibilityMultiTabBulkUpload =
47070
47385
  this.bulkUpload?.frequency?.reports?.concat(this.bulkUpload?.ongoing?.reports, this.bulkUpload?.onCompletion?.reports);
47071
- this.isConfirmClickable = this.responsibilityMultiTabBulkUpload?.some((responsibility) => responsibility.isValid);
47386
+ this.isConfirmClickable = this.responsibilityMultiTabBulkUpload?.some((responsibility) => this.isUploadable(responsibility));
47072
47387
  this.finalResponsibilities = 0;
47073
47388
  this.responsibilityMultiTabBulkUpload?.forEach((risk) => {
47074
- if (risk.isValid) {
47389
+ if (this.isUploadable(risk)) {
47075
47390
  this.finalResponsibilities += 1;
47076
47391
  }
47077
47392
  });
@@ -47088,11 +47403,11 @@ class BulkResponsibilityViewComponent {
47088
47403
  this.cancel.emit();
47089
47404
  }
47090
47405
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BulkResponsibilityViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47091
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BulkResponsibilityViewComponent, selector: "app-bulk-responsibility-view", inputs: { responsibilityBulkUpload: "responsibilityBulkUpload", fileName: "fileName", defaultOwner: "defaultOwner", loader: "loader", tabType: "tabType", bulkUpload: "bulkUpload", responsibilityType: "responsibilityType" }, outputs: { submitResponsibilityBulkUpload: "submitResponsibilityBulkUpload", cancel: "cancel", selectedTab: "selectedTab" }, usesOnChanges: true, ngImport: i0, template: "<!-- --------------------------------------------------------------------upward is new one-------------------- -->\r\n<app-loader *ngIf=\"loader\"></app-loader>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<!-- HTML for multiple tabs -->\r\n<ng-container *ngIf=\"responsibilityType === 'multiTab'\">\r\n <ng-template #dropdownErr let-invalid>\r\n <i *ngIf=\"invalid\" class=\"icons\" [appTooltip]=\"VALIDATION_MESSAGES.DROPDOWN\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=\"true\">&#xe932;</i>\r\n </ng-template>\r\n <div class=\"bulk-view\">\r\n <div class=\"bulk-view-head\">\r\n <h2 class=\"bulk-view-title\">\r\n {{fileName}}\r\n </h2>\r\n </div>\r\n <div class=\"bulk-view-body bulk\" [class.is-horizontally-scrolled]=\"isHorizontallyScrolled\"\r\n (scroll)=\"onGridScroll($event)\">\r\n <div class=\"exel-view\">\r\n <div class=\"exel-view-row head\">\r\n <div class=\"exel-view-column sl-no sticky-col sticky-col-index\">#</div>\r\n <div class=\"exel-view-column sticky-col sticky-col-name\">Responsibility Name <span class=\"required\">*</span></div>\r\n <div class=\"exel-view-column\" *ngIf=\"responsibilityBulkUpload?.header.includes('Program')\"\r\n [class.three-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Program</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.three-column]=\"true\">\r\n <div class=\"exel-view-column\">Program Type</div>\r\n <div class=\"exel-view-column\">Program</div>\r\n <div class=\"exel-view-column\">Program Category</div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\">Entrusted By</div>\r\n <div class=\"exel-view-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Entrust To <span class=\"required\">*</span></div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\">Person or Group<span class=\"required\">*</span></div>\r\n <div class=\"exel-view-column\">All or Any Persons</div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\">Key Responsibility?</div>\r\n <div class=\"exel-view-column\" *ngIf=\"tabType === 'frequency'\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-row\">\r\n <!-- <div class=\"exel-view-column large\">Frequency of Occurrence and Completion Window <span class=\"required\">*</span></div> -->\r\n <div class=\"exel-view-column large\">{{responsibilityBulkUpload?.header.includes('Program') ?\r\n responsibilityBulkUpload?.header[8]?.slice(0, -1) :\r\n responsibilityBulkUpload?.header[5]?.slice(0, -1)}}<span class=\"required\">*</span></div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <ng-container *ngIf=\"tabType === 'frequency'\">\r\n <div class=\"exel-view-column\">Frequency <span class=\"required\">*</span></div>\r\n <div class=\"exel-view-column\">Due Date <span class=\"info-text\">(Day)</span></div>\r\n <div class=\"exel-view-column\">Due Date <span class=\"info-text\">(Month)</span></div>\r\n <div class=\"exel-view-column\" *ngIf=\"hasExtendedFrequencyColumns\">Due Time</div>\r\n <div class=\"exel-view-column\">Start <span class=\"info-text\">(No. of days before the due\r\n date)</span></div>\r\n <div class=\"exel-view-column\">Fail <span class=\"info-text\"\r\n appTooltip=\"(No. of days after the due date. Select '0' if the responsibility must be completed on the due date)\"\r\n placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">(No. of\r\n days after the due date. Select \"0\" if the responsibility must be completed on\r\n the due date)</span></div>\r\n <ng-container *ngIf=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\">Responsibility Ends After Occurences <span\r\n class=\"info-text\">(Number of occurrences)</span></div>\r\n <div class=\"exel-view-column\">Responsibility Ends By Date <span\r\n class=\"info-text\">(Day)</span></div>\r\n <div class=\"exel-view-column\">Responsibility Ends By Date <span\r\n class=\"info-text\">(Month)</span></div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column two-column\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Responsibility Centre</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\">Responsibility Centre Name</div>\r\n <div class=\"exel-view-column\">Responsibility Centre Type</div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\">Risk Class</div>\r\n <div class=\"exel-view-column\">Objective</div>\r\n <div class=\"exel-view-column\">Notes</div>\r\n <div class=\"exel-view-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Format & Evidence</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\" [class.three-column]=\"false\">\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\">Format</div>\r\n <div class=\"exel-view-column\">Format For Responsibility (link)</div>\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\">Evidence</div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"exel-view-column\">Assessments or Checkpoints</div> -->\r\n <div class=\"exel-view-column four-column\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Review of Responsibility</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.four-column]=\"true\">\r\n <div class=\"exel-view-column\">Reviewer</div>\r\n <div class=\"exel-view-column\">Reviewer Type\r\n <span class=\"info-text\">(Specify the type of reviewer flow)</span>\r\n\r\n </div>\r\n\r\n <div class=\"exel-view-column\">Review Start <span class=\"info-text\">(No. of days before the\r\n due date)</span></div>\r\n <div class=\"exel-view-column\">Review Fail <span class=\"info-text\"\r\n appTooltip=\"(No. of days after the due date. Select '0' if the responsibility must be reviewed on the due date)\"\r\n placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">(No. of days\r\n after the due date. Select \"0\" if the responsibility must be reviewed on the due\r\n date)</span></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Overseer</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\">Always Notify</div>\r\n <div class=\"exel-view-column\">Notify on Failure</div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"exel-view-column\">Overseer</div> -->\r\n\r\n <!-- Collaborator -->\r\n <div class=\"exel-view-column\">Collaborator</div>\r\n\r\n </div>\r\n <div class=\"exel-view-row\" *ngFor=\"let report of responsibilityBulkUpload?.reports; let i = index\">\r\n <div class=\"exel-view-column sl-no sticky-col sticky-col-index\" [class.error]=\"!report?.isValid\">{{i+1}}</div>\r\n <div class=\"exel-view-column sticky-col sticky-col-name\" [class.error]=\"!report.responsibilityName\">\r\n {{report?.responsibilityName}} <i *ngIf=\"!report.responsibilityName\" class=\"icons\"\r\n [appTooltip]=\"'Enter a name for this responsibility.'\" placement=\"bottom-right\" type=\"white\"\r\n delay=\"0\" [tooltipMandatory]=true>&#xe932;</i></div>\r\n <div class=\"exel-view-column multi-column\"\r\n *ngIf=\"responsibilityBulkUpload?.header.includes('Program')\" [class.error]=\"false\"\r\n [class.three-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.three-column]=\"true\">\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.programType === false\">\r\n {{report?.programType}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.programType === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.program === false\">\r\n {{report?.program}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.program === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.programCategory === false\">\r\n {{report?.programCategory}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.programCategory === false }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.assignor === false\">{{report?.assignor}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.assignor === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!report?.assignee || !report?.userValidateWithProgram?.isValidAssignee || (!report?.isValidUser) || report?.dropdownValidation?.assignee === false\">\r\n {{report?.assignee}}\r\n <!-- || (!report?.isValidUser) -->\r\n <i *ngIf=\"!report?.assignee\" class=\"icons\"\r\n [appTooltip]=\"'Select the user responsible for completing this responsibility. '\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.assignee && report?.dropdownValidation?.assignee === false }\"></ng-container>\r\n <i *ngIf=\"(report?.assignee) && report?.dropdownValidation?.assignee !== false && !report?.userValidateWithProgram?.isValidAssignee\"\r\n class=\"icons\"\r\n [appTooltip]=\"'This user is not associated with the selected Program.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.assigneeType === false\">\r\n {{report?.assigneeType}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.assigneeType === false }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.keyResponsibility === false\">\r\n {{report?.keyResponsibility}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.keyResponsibility === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\"\r\n *ngIf=\"tabType === 'frequency'\">\r\n\r\n <div class=\"exel-view-row multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\" [class.error]=\"!report?.frequency || report?.dropdownValidation?.frequency === false\">{{report?.frequency}}\r\n <i *ngIf=\"!report?.frequency\" class=\"icons\"\r\n [appTooltip]=\"'Select a frequency for this responsibility.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.frequency && report?.dropdownValidation?.frequency === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [class.error]=\"report?.dropdownValidation?.day === false || !report?.validDate || report?.isPastDate\">\r\n {{report?.day}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.day === false }\"></ng-container>\r\n <i *ngIf=\"report?.dropdownValidation?.day !== false && !report?.validDate\" class=\"icons\" [appTooltip]=\"'Invalid Due Date.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n <i *ngIf=\"report?.dropdownValidation?.day !== false && report?.isPastDate\" class=\"icons\"\r\n [appTooltip]=\"'This date occurs in the past. Select a future date.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <div class=\"exel-view-column\" [class.error]=\"report?.dropdownValidation?.month === false || !report?.validDate || report?.isPastDate\">\r\n {{report?.month}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.month === false }\"></ng-container>\r\n <i *ngIf=\"report?.dropdownValidation?.month !== false && !report?.validDate\" class=\"icons\" [appTooltip]=\"'Invalid Due Date.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n <i *ngIf=\"report?.dropdownValidation?.month !== false && report?.isPastDate\" class=\"icons\"\r\n [appTooltip]=\"'This date occurs in the past. Select a future date.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <div class=\"exel-view-column\" *ngIf=\"hasExtendedFrequencyColumns\"\r\n [class.error]=\"!report?.isValidDueTime || report?.dropdownValidation?.dueTime === false\">{{report?.dueTime}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: !report?.isValidDueTime || report?.dropdownValidation?.dueTime === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!!report?.responsibilityWindowError\">{{report?.responsibilityWindow}}\r\n <i *ngIf=\"report?.responsibilityWindowError\" class=\"icons\"\r\n [appTooltip]=\"report?.responsibilityWindowError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!!report?.failedAfterError\">{{report?.failedAfter}}\r\n <i *ngIf=\"report?.failedAfterError\" class=\"icons\"\r\n [appTooltip]=\"report?.failedAfterError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <ng-container *ngIf=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!report?.isValidEndsAfterOccurrences\">{{report?.endsAfterOccurrences}}\r\n <i *ngIf=\"!report?.isValidEndsAfterOccurrences\" class=\"icons\"\r\n [appTooltip]=\"report?.endsAfterOccurrencesError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!report?.isValidEndsByDateDay\">{{report?.endsByDateDay}}\r\n <i *ngIf=\"!report?.isValidEndsByDateDay\" class=\"icons\"\r\n [appTooltip]=\"report?.endsByDateDayError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!report?.isValidEndsByDateMonth\">{{report?.endsByDateMonth}}\r\n <i *ngIf=\"!report?.isValidEndsByDateMonth\" class=\"icons\"\r\n [appTooltip]=\"report?.endsByDateMonthError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.responsibilityCenter === false\">\r\n {{report?.responsibilityCenter}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.responsibilityCenter === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.responsibilityCenterType === false\">\r\n {{report?.responsibilityCenterType}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.responsibilityCenterType === false }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.reportClass === false\">\r\n {{report?.reportClass}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.reportClass === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\">{{report?.objective}}</div>\r\n <div class=\"exel-view-column\">{{report?.notes}}</div>\r\n <div class=\"exel-view-column multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column multi-column\">\r\n <div class=\"exel-view-row multi-column\">\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\"\r\n [class.error]=\"report?.dropdownValidation?.isFormat === false\">{{report?.isFormat}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.isFormat === false }\"></ng-container>\r\n </div>\r\n <a class=\"exel-view-column external-link\" [href]=\"report?.formatForResponsibility\"\r\n target=\"_blank\">{{report?.formatForResponsibility}}</a>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\"\r\n [class.error]=\"report?.dropdownValidation?.documentEvidenceRequired === false\">\r\n {{report?.documentEvidenceRequired}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.documentEvidenceRequired === false }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"exel-view-column\">{{report?.assessments}}</div> -->\r\n <div class=\"exel-view-column multi-column\" [class.four-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.four-column]=\"true\">\r\n <div class=\"exel-view-column\" [class.error]=\"report?.dropdownValidation?.reviewer === false || (report?.reviewer && (\r\n !report?.userValidateWithProgram?.isValidReviewer ))\">{{report?.reviewer}}\r\n\r\n <!-- <i *ngIf=\"(report?.reviewer && report?.reviewer === report?.assignor)\"\r\n class=\"icons\"\r\n [appTooltip]=\"((report?.assignor)?'The Assignor cannot also be the Reviewer of this responsibility.':'You cannot be a Reviewer of this responsibility since you are the assignor. ') +'Select another user as the Reviewer'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i> -->\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.reviewer === false }\"></ng-container>\r\n <i *ngIf=\"report?.reviewer && report?.dropdownValidation?.reviewer !== false && !report?.userValidateWithProgram?.isValidReviewer\"\r\n class=\"icons\"\r\n [appTooltip]=\"'This user is not associated with the selected Program.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.reviewerType === false\">\r\n {{report?.reviewerType}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.reviewerType === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!!report?.reviewToBeCompletedWithinError\">{{report?.reviewToBeCompletedWithin}}\r\n <i *ngIf=\"report?.reviewToBeCompletedWithinError\" class=\"icons\"\r\n [appTooltip]=\"report?.reviewToBeCompletedWithinError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!!report?.reviewWillBeFailedAfterError\">{{report?.reviewWillBeFailedAfter}}\r\n <i *ngIf=\"report?.reviewWillBeFailedAfterError\" class=\"icons\"\r\n [appTooltip]=\"report?.reviewWillBeFailedAfterError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"exel-view-column multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\" [class.error]=\"report?.dropdownValidation?.overseer === false || (report?.overseer && (\r\n !report?.userValidateWithProgram?.isValidOverseer ))\">\r\n {{report?.overseer}}\r\n\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.overseer === false }\"></ng-container>\r\n <i *ngIf=\"(report?.overseer) && report?.dropdownValidation?.overseer !== false && !report?.userValidateWithProgram?.isValidOverseer\"\r\n class=\"icons\"\r\n [appTooltip]=\"'This user is not associated with the selected Program.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n </div>\r\n <div class=\"exel-view-column\" [class.error]=\"report?.dropdownValidation?.notifyOnFailure === false || (report?.notifyOnFailure && (\r\n !report?.userValidateWithProgram?.isValidNotifyOnFailure ))\">\r\n {{report?.notifyOnFailure}}\r\n\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.notifyOnFailure === false }\"></ng-container>\r\n <i *ngIf=\"(report?.notifyOnFailure) && report?.dropdownValidation?.notifyOnFailure !== false && !report?.userValidateWithProgram?.isValidNotifyOnFailure\"\r\n class=\"icons\"\r\n [appTooltip]=\"'This user is not associated with the selected Program.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.collaborator === false\">{{report?.collaborator}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.collaborator === false }\"></ng-container>\r\n </div>\r\n\r\n <!-- <div class=\"exel-view-column\" [class.error]=\"(report?.overseer) && ((report?.overseer === report?.assignee) ||(report?.reviewer === report?.overseer) || (report?.overseer == report?.assignor) || (!report?.userValidateWithProgram?.isValidOverseer))\">\r\n {{report?.overseer}}\r\n <i *ngIf=\"(report?.overseer) && ((report?.reviewer === report?.overseer))\"\r\n class=\"icons\"\r\n [appTooltip]=\"'The Reviewer cannot also be the Overseer of this responsibility. Select another user as the Overseer.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n\r\n <i *ngIf=\"report?.overseer && (report?.overseer === report?.assignee)\" class=\"icons\"\r\n [appTooltip]=\"'The Assignee cannot also be the Overseer of this responsibility. Select another user as the Overseer'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n <i *ngIf=\"((report?.overseer) && (report?.overseer == report?.assignor))\"\r\n class=\"icons\"\r\n [appTooltip]=\"((report?.assignor)?'The Assignor cannot also be the Overseer of this responsibility. ':'You cannot be an Overseer of this responsibility since you are the Assignor. ') +'Select another user as the Overseer.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n <i *ngIf=\"!report?.userValidateWithProgram?.isValidOverseer\"\r\n class=\"icons\"\r\n [appTooltip]=\"'Selected user is not a valid overseer for selected program.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"exel-view-row empty-fill-row\" aria-hidden=\"true\">\r\n <div class=\"exel-view-column sl-no sticky-col sticky-col-index\"></div>\r\n <div class=\"exel-view-column sticky-col sticky-col-name\"></div>\r\n <div class=\"exel-view-column multi-column three-column\" *ngIf=\"hasProgramColumn\">\r\n <div class=\"exel-view-row multi-column three-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\"\r\n *ngIf=\"tabType === 'frequency'\">\r\n <div class=\"exel-view-row multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\" *ngIf=\"hasExtendedFrequencyColumns\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <ng-container *ngIf=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column multi-column\">\r\n <div class=\"exel-view-row multi-column\">\r\n <div class=\"exel-view-column small-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column small-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column multi-column four-column\">\r\n <div class=\"exel-view-row multi-column four-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ------------------------------------------------old code dynamic------------------------------------------------- -->\r\n\r\n <!-- *ngFor=\"let report of responsibilityBulkUpload?.reports; let i = index\" -->\r\n </div>\r\n </div>\r\n <div class=\"bulk-view-option\">\r\n <button *ngIf=\"bulkUpload?.frequency?.reports?.length\" [class.active]=\"tabType === 'frequency'\"\r\n (click)=\"selectedTab.emit('frequency')\">Frequency Responsibilities</button>\r\n <button *ngIf=\"bulkUpload?.ongoing?.reports?.length\" [class.active]=\"tabType === 'ongoing'\"\r\n (click)=\"selectedTab.emit('ongoing')\">Ongoing Responsibilities</button>\r\n <button *ngIf=\"bulkUpload?.onCompletion?.reports?.length\" [class.active]=\"tabType === 'onCompletion'\"\r\n (click)=\"selectedTab.emit('onCompletion')\">On Completion Responsibilities</button>\r\n </div>\r\n <div class=\"bulk-view-footer\">\r\n <!-- <div class=\"left\">\r\n <p>{{finalResponsibilities}} out of {{responsibilityBulkUpload?.reports?.length}} responsibilities will be\r\n uploaded.</p>\r\n </div> -->\r\n <div class=\"left\">\r\n <p>{{finalResponsibilities}} out of {{responsibilityMultiTabBulkUpload?.length}}\r\n {{responsibilityMultiTabBulkUpload?.length > 1 ? 'responsibilities' : 'responsibility'}} will be\r\n uploaded.</p>\r\n </div>\r\n <div class=\"right\">\r\n <button (click)=\"close()\" id=\"bulk-resp-cancel\">Cancel</button>\r\n <button (click)=\"submit()\" id=\"bulk-resp-confirm\" [disabled]=\"!isConfirmClickable\"\r\n class=\"blue\">Confirm</button>\r\n <!-- finalResponsibilities < 1 -->\r\n </div>\r\n </div>\r\n </div>\r\n <app-loader *ngIf=\"loader\"></app-loader>\r\n\r\n</ng-container>\r\n\r\n<!-- --------------------------------------------------------------------upward is new one-------------------- -->", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:#747576;border-radius:16px}::-webkit-scrollbar{height:15px}.bulk-view{position:fixed;inset:0;z-index:11}.bulk-view-head{height:60px;padding:20px 24px;background:#161b2f;display:flex;justify-content:flex-start}.bulk-view-title{font-size:16px;line-height:20px;font-weight:400;margin:0;color:#fff}.bulk-view-body{height:calc(100vh - 110px);overflow:auto;width:100%;background:#fff}.bulk-view-body .exel-view{display:block}.bulk-view-body .exel-view-row{display:flex;width:100%}.bulk-view-body .exel-view-row.head .exel-view-column{font-weight:500;font-size:14px;min-height:26px;background:#f1f1f1;padding:0;word-break:unset}.bulk-view-body .exel-view-row.multi-column .exel-view-column{width:140px;min-width:140px}.bulk-view-body .exel-view-row.multi-column .external-link{color:#1e5dd3;text-decoration:none}.bulk-view-body .exel-view-column{width:300px;min-width:300px;padding:0 10px;border-right:1px solid #dcdcdc;border-bottom:1px solid #dcdcdc;display:flex;align-items:center;justify-content:center;text-align:center;word-break:break-all;line-height:16px;font-size:12px;color:#161b2f;flex-wrap:wrap;position:relative}.bulk-view-body .exel-view-column i.icons{position:absolute;top:8px;right:10px;cursor:pointer;color:#d93b41}.bulk-view-body .exel-view-column.large{width:100%;min-width:auto}.bulk-view-body .exel-view-column.error{border:1px solid #EB2424!important;padding-right:24px}.bulk-view-body .exel-view-column.error+.error{border-left:none!important}.bulk-view-body .exel-view-column span.required{color:#eb2424;display:contents}.bulk-view-body .exel-view-column .exel-view-row .exel-view-column{width:100%}.bulk-view-body .exel-view-column.sticky-col{position:sticky;z-index:2;background:#fff}.bulk-view-body .exel-view-column.sticky-col-index{left:0;z-index:3;background:#f1f1f1}.bulk-view-body .exel-view-column.sticky-col-name{left:60px}.bulk-view-body .exel-view-column.sl-no{background:#f1f1f1;width:60px;min-width:60px;min-height:30px;font-weight:400}.bulk-view-body .exel-view-column.sl-no.error{background:#f5d6d7;border:none;padding-right:10px;border-bottom:1px solid #dcdcdc}.bulk-view-body .exel-view-column.multi-column{padding:0;border:none}.bulk-view-body .exel-view-column.multi-column .exel-view-row{height:100%}.bulk-view-body .exel-view-column.multi-column .exel-view-column{width:50%;min-width:50%}.bulk-view-body .exel-view-column.multi-column .exel-view-column+.exel-view-column{border-left:none}.bulk-view-body.bulk{height:calc(100vh - 142px)}.bulk-view-body.bulk.is-horizontally-scrolled .sticky-col-name{overflow:visible}.bulk-view-body.bulk.is-horizontally-scrolled .sticky-col-name:after{content:\"\";position:absolute;top:-1px;bottom:-1px;right:0;width:8px;pointer-events:none;box-shadow:4px 0 8px #1e5dd326}.bulk-view-body.bulk .exel-view{display:flex;flex-direction:column;width:max-content;min-width:100%;min-height:100%}.bulk-view-body.bulk .exel-view-row{width:max-content;min-width:100%}.bulk-view-body.bulk .exel-view-row.head{position:sticky;top:0;z-index:4}.bulk-view-body.bulk .exel-view-row.head .exel-view-column{min-height:34px}.bulk-view-body.bulk .exel-view-row.head .exel-view-column.sticky-col{background:#f1f1f1;z-index:5}.bulk-view-body.bulk .exel-view-row.head .exel-view-column .info-text{font-size:10px;display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding:0 8px}.bulk-view-body.bulk .exel-view-row.two-column .exel-view-column{min-width:250px!important}.bulk-view-body.bulk .exel-view-row.three-column .exel-view-column,.bulk-view-body.bulk .exel-view-row.four-column .exel-view-column,.bulk-view-body.bulk .exel-view-row.five-column .exel-view-column,.bulk-view-body.bulk .exel-view-row.nine-column .exel-view-column{width:200px;min-width:200px!important}.bulk-view-body.bulk .exel-view-column .exel-view-row .exel-view-column.small-column{width:120px;min-width:120px!important}.bulk-view-body.bulk .exel-view-column.multi-column .exel-view-column{min-width:unset}.bulk-view-body.bulk .exel-view-column.two-column{width:500px;min-width:500px!important}.bulk-view-body.bulk .exel-view-column.three-column{width:600px;min-width:600px!important}.bulk-view-body.bulk .exel-view-column.four-column{width:800px;min-width:800px!important}.bulk-view-body.bulk .exel-view-column.five-column{width:1000px;min-width:1000px!important}.bulk-view-body.bulk .exel-view-column.nine-column{width:1800px;min-width:1800px!important}.bulk-view-body.bulk .exel-view .empty-fill-row{flex:1 1 auto;min-height:32px;align-items:stretch}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column{min-height:100%;background-color:#fff;background-image:repeating-linear-gradient(to bottom,#fff 0 31px,#dcdcdc 31px 32px);background-repeat:repeat-y;background-size:100% 32px}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column.multi-column{background-image:none;background-color:transparent}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column.sticky-col-index,.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column.sl-no{background-color:#f1f1f1;background-image:repeating-linear-gradient(to bottom,#f1f1f1 0 31px,#dcdcdc 31px 32px)}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-row{height:100%;align-items:stretch}.bulk-view-option{background:#fff;border-top:1px solid #f1f1f1;padding:0 20px;position:fixed;width:100%;bottom:50px;display:flex;align-items:center}.bulk-view-option button{background:transparent;border-radius:0;border:none;border-left:1px solid #f1f1f1;color:#747576;font-size:11px;font-weight:500;padding:0 .5rem;margin:0;height:2rem;position:relative}.bulk-view-option button:last-of-type{border-right:1px solid #f1f1f1}.bulk-view-option button.active{color:#1e5dd3}.bulk-view-option button.active:before{background:#fff;content:\"\";position:absolute;top:-1px;left:0;height:1px;width:100%}.bulk-view-footer{height:50px;box-shadow:0 0 15px #1e03d259;padding:10px 20px;position:fixed;width:100%;bottom:0;display:flex;align-items:center;justify-content:space-between;background:#fff}.bulk-view-footer .left p{color:#747576;font-size:13px;font-weight:500;margin:0}.bulk-view-footer .right button{font-size:12px;background:#fff;border:1px solid #dcdcdc;color:#747576;border-radius:2px;padding:8px 18px;cursor:pointer;text-transform:uppercase}.bulk-view-footer .right button+button{margin-left:4px}.bulk-view-footer .right button.blue{color:#fff;background:#1e5dd3}.bulk-view-footer .right button:disabled{background:#f1f1f1;border-color:#f1f1f1;pointer-events:none;cursor:not-allowed;color:#747576}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: LoaderComponent$1, selector: "app-loader" }] }); }
47406
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BulkResponsibilityViewComponent, selector: "app-bulk-responsibility-view", inputs: { responsibilityBulkUpload: "responsibilityBulkUpload", fileName: "fileName", defaultOwner: "defaultOwner", loader: "loader", tabType: "tabType", bulkUpload: "bulkUpload", responsibilityType: "responsibilityType" }, outputs: { submitResponsibilityBulkUpload: "submitResponsibilityBulkUpload", cancel: "cancel", selectedTab: "selectedTab" }, usesOnChanges: true, ngImport: i0, template: "<!-- --------------------------------------------------------------------upward is new one-------------------- -->\r\n<app-loader *ngIf=\"loader\"></app-loader>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<!-- HTML for multiple tabs -->\r\n<ng-container *ngIf=\"responsibilityType === 'multiTab'\">\r\n <ng-template #fieldIcon let-report let-field=\"field\">\r\n <i *ngIf=\"cellMessage(report, field)\" class=\"icons\" [ngClass]=\"cellSeverity(report, field)\"\r\n [appTooltip]=\"cellMessage(report, field)\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n <ng-container *ngIf=\"cellSeverity(report, field) === 'error'\">&#xe914;</ng-container>\r\n <ng-container *ngIf=\"cellSeverity(report, field) !== 'error'\">&#xe932;</ng-container>\r\n </i>\r\n </ng-template>\r\n <div class=\"bulk-view\">\r\n <div class=\"bulk-view-head\">\r\n <h2 class=\"bulk-view-title\">\r\n {{fileName}}\r\n </h2>\r\n </div>\r\n <div class=\"bulk-view-body bulk\" [class.is-horizontally-scrolled]=\"isHorizontallyScrolled\"\r\n (scroll)=\"onGridScroll($event)\">\r\n <div class=\"exel-view\">\r\n <div class=\"exel-view-row head\">\r\n <div class=\"exel-view-column sl-no sticky-col sticky-col-index\">#</div>\r\n <div class=\"exel-view-column sticky-col sticky-col-name\">Responsibility Name <span class=\"required\">*</span></div>\r\n <div class=\"exel-view-column\" *ngIf=\"responsibilityBulkUpload?.header.includes('Program')\"\r\n [class.three-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Program</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.three-column]=\"true\">\r\n <div class=\"exel-view-column\">Program Type</div>\r\n <div class=\"exel-view-column\">Program</div>\r\n <div class=\"exel-view-column\">Program Category</div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\">Entrusted By</div>\r\n <div class=\"exel-view-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Entrust To <span class=\"required\">*</span></div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\">Person or Group<span class=\"required\">*</span></div>\r\n <div class=\"exel-view-column\">All or Any Persons</div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\">Key Responsibility?</div>\r\n <div class=\"exel-view-column\" *ngIf=\"tabType === 'frequency'\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-row\">\r\n <!-- <div class=\"exel-view-column large\">Frequency of Occurrence and Completion Window <span class=\"required\">*</span></div> -->\r\n <div class=\"exel-view-column large\">{{responsibilityBulkUpload?.header.includes('Program') ?\r\n responsibilityBulkUpload?.header[8]?.slice(0, -1) :\r\n responsibilityBulkUpload?.header[5]?.slice(0, -1)}}<span class=\"required\">*</span></div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <ng-container *ngIf=\"tabType === 'frequency'\">\r\n <div class=\"exel-view-column\">Frequency <span class=\"required\">*</span></div>\r\n <div class=\"exel-view-column\">Due Date <span class=\"info-text\">(Day)</span></div>\r\n <div class=\"exel-view-column\">Due Date <span class=\"info-text\">(Month)</span></div>\r\n <div class=\"exel-view-column\" *ngIf=\"hasExtendedFrequencyColumns\">Due Time</div>\r\n <div class=\"exel-view-column\">Start <span class=\"info-text\">(No. of days before the due\r\n date)</span></div>\r\n <div class=\"exel-view-column\">Fail <span class=\"info-text\"\r\n appTooltip=\"(No. of days after the due date. Select '0' if the responsibility must be completed on the due date)\"\r\n placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">(No. of\r\n days after the due date. Select \"0\" if the responsibility must be completed on\r\n the due date)</span></div>\r\n <ng-container *ngIf=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\">Responsibility Ends After Occurences <span\r\n class=\"info-text\">(Number of occurrences)</span></div>\r\n <div class=\"exel-view-column\">Responsibility Ends By Date <span\r\n class=\"info-text\">(Day)</span></div>\r\n <div class=\"exel-view-column\">Responsibility Ends By Date <span\r\n class=\"info-text\">(Month)</span></div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column two-column\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Responsibility Centre</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\">Responsibility Centre Name</div>\r\n <div class=\"exel-view-column\">Responsibility Centre Type</div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\">Risk Class</div>\r\n <div class=\"exel-view-column\">Objective</div>\r\n <div class=\"exel-view-column\">Notes</div>\r\n <div class=\"exel-view-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Format & Evidence</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\" [class.three-column]=\"false\">\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\">Format</div>\r\n <div class=\"exel-view-column\">Format For Responsibility (link)</div>\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\">Evidence</div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"exel-view-column\">Assessments or Checkpoints</div> -->\r\n <div class=\"exel-view-column four-column\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Review of Responsibility</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.four-column]=\"true\">\r\n <div class=\"exel-view-column\">Reviewer</div>\r\n <div class=\"exel-view-column\">Reviewer Type\r\n <span class=\"info-text\">(Specify the type of reviewer flow)</span>\r\n\r\n </div>\r\n\r\n <div class=\"exel-view-column\">Review Start <span class=\"info-text\">(No. of days before the\r\n due date)</span></div>\r\n <div class=\"exel-view-column\">Review Fail <span class=\"info-text\"\r\n appTooltip=\"(No. of days after the due date. Select '0' if the responsibility must be reviewed on the due date)\"\r\n placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">(No. of days\r\n after the due date. Select \"0\" if the responsibility must be reviewed on the due\r\n date)</span></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Overseer</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\">Always Notify</div>\r\n <div class=\"exel-view-column\">Notify on Failure</div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"exel-view-column\">Overseer</div> -->\r\n\r\n <!-- Collaborator -->\r\n <div class=\"exel-view-column\">Collaborator</div>\r\n\r\n </div>\r\n <div class=\"exel-view-row\" *ngFor=\"let report of responsibilityBulkUpload?.reports; let i = index\">\r\n <div class=\"exel-view-column sl-no sticky-col sticky-col-index\" [ngClass]=\"rowIndexClass(report)\">{{i+1}}</div>\r\n <div class=\"exel-view-column sticky-col sticky-col-name\" [ngClass]=\"cellClass(report, 'responsibilityName')\">\r\n {{report?.responsibilityName}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'responsibilityName' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column multi-column\"\r\n *ngIf=\"responsibilityBulkUpload?.header.includes('Program')\" [class.error]=\"false\"\r\n [class.three-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.three-column]=\"true\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'programType')\">\r\n {{report?.programType}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'programType' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'program')\">\r\n {{report?.program}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'program' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'programCategory')\">\r\n {{report?.programCategory}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'programCategory' }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'assignor')\">{{report?.assignor}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'assignor' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'assignee')\">\r\n {{report?.assignee}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'assignee' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'assigneeType')\">\r\n {{report?.assigneeType}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'assigneeType' }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'keyResponsibility')\">\r\n {{report?.keyResponsibility}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'keyResponsibility' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\"\r\n *ngIf=\"tabType === 'frequency'\">\r\n\r\n <div class=\"exel-view-row multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'frequency')\">{{report?.frequency}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'frequency' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'day')\">\r\n {{report?.day}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'day' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'month')\">\r\n {{report?.month}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'month' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" *ngIf=\"hasExtendedFrequencyColumns\"\r\n [ngClass]=\"cellClass(report, 'dueTime')\">{{report?.dueTime}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'dueTime' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'responsibilityWindow')\">{{report?.responsibilityWindow}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'responsibilityWindow' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'failedAfter')\">{{report?.failedAfter}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'failedAfter' }\"></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'endsAfterOccurrences')\">{{report?.endsAfterOccurrences}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'endsAfterOccurrences' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'endsByDateDay')\">{{report?.endsByDateDay}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'endsByDateDay' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'endsByDateMonth')\">{{report?.endsByDateMonth}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'endsByDateMonth' }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'responsibilityCenter')\">\r\n {{report?.responsibilityCenter}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'responsibilityCenter' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'responsibilityCenterType')\">\r\n {{report?.responsibilityCenterType}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'responsibilityCenterType' }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'reportClass')\">\r\n {{report?.reportClass}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'reportClass' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\">{{report?.objective}}</div>\r\n <div class=\"exel-view-column\">{{report?.notes}}</div>\r\n <div class=\"exel-view-column multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column multi-column\">\r\n <div class=\"exel-view-row multi-column\">\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\"\r\n [ngClass]=\"cellClass(report, 'isFormat')\">{{report?.isFormat}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'isFormat' }\"></ng-container>\r\n </div>\r\n <a class=\"exel-view-column external-link\" [href]=\"report?.formatForResponsibility\"\r\n [ngClass]=\"cellClass(report, 'formatForResponsibility')\"\r\n target=\"_blank\">{{report?.formatForResponsibility}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'formatForResponsibility' }\"></ng-container>\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\"\r\n [ngClass]=\"cellClass(report, 'documentEvidenceRequired')\">\r\n {{report?.documentEvidenceRequired}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'documentEvidenceRequired' }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"exel-view-column\">{{report?.assessments}}</div> -->\r\n <div class=\"exel-view-column multi-column\" [class.four-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.four-column]=\"true\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'reviewer')\">{{report?.reviewer}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'reviewer' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'reviewerType')\">\r\n {{report?.reviewerType}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'reviewerType' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'reviewToBeCompletedWithin')\">{{report?.reviewToBeCompletedWithin}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'reviewToBeCompletedWithin' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'reviewWillBeFailedAfter')\">{{report?.reviewWillBeFailedAfter}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'reviewWillBeFailedAfter' }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"exel-view-column multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'overseer')\">\r\n {{report?.overseer}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'overseer' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'notifyOnFailure')\">\r\n {{report?.notifyOnFailure}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'notifyOnFailure' }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'collaborator')\">{{report?.collaborator}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'collaborator' }\"></ng-container>\r\n </div>\r\n\r\n <!-- <div class=\"exel-view-column\" [class.error]=\"(report?.overseer) && ((report?.overseer === report?.assignee) ||(report?.reviewer === report?.overseer) || (report?.overseer == report?.assignor) || (!report?.userValidateWithProgram?.isValidOverseer))\">\r\n {{report?.overseer}}\r\n <i *ngIf=\"(report?.overseer) && ((report?.reviewer === report?.overseer))\"\r\n class=\"icons\"\r\n [appTooltip]=\"'The Reviewer cannot also be the Overseer of this responsibility. Select another user as the Overseer.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n\r\n <i *ngIf=\"report?.overseer && (report?.overseer === report?.assignee)\" class=\"icons\"\r\n [appTooltip]=\"'The Assignee cannot also be the Overseer of this responsibility. Select another user as the Overseer'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n <i *ngIf=\"((report?.overseer) && (report?.overseer == report?.assignor))\"\r\n class=\"icons\"\r\n [appTooltip]=\"((report?.assignor)?'The Assignor cannot also be the Overseer of this responsibility. ':'You cannot be an Overseer of this responsibility since you are the Assignor. ') +'Select another user as the Overseer.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n <i *ngIf=\"!report?.userValidateWithProgram?.isValidOverseer\"\r\n class=\"icons\"\r\n [appTooltip]=\"'Selected user is not a valid overseer for selected program.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"exel-view-row empty-fill-row\" aria-hidden=\"true\">\r\n <div class=\"exel-view-column sl-no sticky-col sticky-col-index\"></div>\r\n <div class=\"exel-view-column sticky-col sticky-col-name\"></div>\r\n <div class=\"exel-view-column multi-column three-column\" *ngIf=\"hasProgramColumn\">\r\n <div class=\"exel-view-row multi-column three-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\"\r\n *ngIf=\"tabType === 'frequency'\">\r\n <div class=\"exel-view-row multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\" *ngIf=\"hasExtendedFrequencyColumns\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <ng-container *ngIf=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column multi-column\">\r\n <div class=\"exel-view-row multi-column\">\r\n <div class=\"exel-view-column small-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column small-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column multi-column four-column\">\r\n <div class=\"exel-view-row multi-column four-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ------------------------------------------------old code dynamic------------------------------------------------- -->\r\n\r\n <!-- *ngFor=\"let report of responsibilityBulkUpload?.reports; let i = index\" -->\r\n </div>\r\n </div>\r\n <div class=\"bulk-view-option\">\r\n <button *ngIf=\"bulkUpload?.frequency?.reports?.length\" [class.active]=\"tabType === 'frequency'\"\r\n (click)=\"selectedTab.emit('frequency')\">Frequency Responsibilities</button>\r\n <button *ngIf=\"bulkUpload?.ongoing?.reports?.length\" [class.active]=\"tabType === 'ongoing'\"\r\n (click)=\"selectedTab.emit('ongoing')\">Ongoing Responsibilities</button>\r\n <button *ngIf=\"bulkUpload?.onCompletion?.reports?.length\" [class.active]=\"tabType === 'onCompletion'\"\r\n (click)=\"selectedTab.emit('onCompletion')\">On Completion Responsibilities</button>\r\n </div>\r\n <div class=\"bulk-view-footer\">\r\n <!-- <div class=\"left\">\r\n <p>{{finalResponsibilities}} out of {{responsibilityBulkUpload?.reports?.length}} responsibilities will be\r\n added.</p>\r\n </div> -->\r\n <div class=\"left\">\r\n <p>{{finalResponsibilities}} out of {{responsibilityMultiTabBulkUpload?.length}}\r\n {{responsibilityMultiTabBulkUpload?.length > 1 ? 'responsibilities' : 'responsibility'}} will be\r\n added.</p>\r\n </div>\r\n <div class=\"right\">\r\n <button (click)=\"close()\" id=\"bulk-resp-cancel\">Cancel</button>\r\n <button (click)=\"submit()\" id=\"bulk-resp-confirm\" [disabled]=\"!isConfirmClickable\"\r\n class=\"blue\">Confirm</button>\r\n <!-- finalResponsibilities < 1 -->\r\n </div>\r\n </div>\r\n </div>\r\n <app-loader *ngIf=\"loader\"></app-loader>\r\n\r\n</ng-container>\r\n\r\n<!-- --------------------------------------------------------------------upward is new one-------------------- -->", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:#747576;border-radius:16px}::-webkit-scrollbar{height:15px}.bulk-view{position:fixed;inset:0;z-index:11}.bulk-view-head{height:60px;padding:20px 24px;background:#161b2f;display:flex;justify-content:flex-start}.bulk-view-title{font-size:16px;line-height:20px;font-weight:400;margin:0;color:#fff}.bulk-view-body{height:calc(100vh - 110px);overflow:auto;width:100%;background:#fff}.bulk-view-body .exel-view{display:block}.bulk-view-body .exel-view-row{display:flex;width:100%}.bulk-view-body .exel-view-row.head .exel-view-column{font-weight:500;font-size:14px;min-height:26px;background:#f1f1f1;padding:0;word-break:unset}.bulk-view-body .exel-view-row.multi-column .exel-view-column{width:140px;min-width:140px}.bulk-view-body .exel-view-row.multi-column .external-link{color:#1e5dd3;text-decoration:none}.bulk-view-body .exel-view-column{width:300px;min-width:300px;padding:0 10px;border-right:1px solid #dcdcdc;border-bottom:1px solid #dcdcdc;display:flex;align-items:center;justify-content:center;text-align:center;word-break:break-all;line-height:16px;font-size:12px;color:#161b2f;flex-wrap:wrap;position:relative}.bulk-view-body .exel-view-column i.icons{position:absolute;top:8px;right:10px;cursor:pointer;color:#d93b41}.bulk-view-body .exel-view-column i.icons.warning{color:#b7770d}.bulk-view-body .exel-view-column i.icons.info{color:#1a5276}.bulk-view-body .exel-view-column.large{width:100%;min-width:auto}.bulk-view-body .exel-view-column.error{border:1px solid #EB2424!important;background:#ffeeeb;padding-right:24px}.bulk-view-body .exel-view-column.error+.error{border-left:none!important}.bulk-view-body .exel-view-column.warning{border:1px solid #B7770D!important;background:#fef8e7;padding-right:24px}.bulk-view-body .exel-view-column.warning+.warning{border-left:none!important}.bulk-view-body .exel-view-column.info{border:1px solid #1A5276!important;background:#f4f8ff;padding-right:24px}.bulk-view-body .exel-view-column.info+.info{border-left:none!important}.bulk-view-body .exel-view-column span.required{color:#eb2424;display:contents}.bulk-view-body .exel-view-column .exel-view-row .exel-view-column{width:100%}.bulk-view-body .exel-view-column.sticky-col{position:sticky;z-index:2;background:#fff}.bulk-view-body .exel-view-column.sticky-col.warning{background:#fef8e7}.bulk-view-body .exel-view-column.sticky-col.info{background:#f4f8ff}.bulk-view-body .exel-view-column.sticky-col.error{background:#ffeeeb}.bulk-view-body .exel-view-column.sticky-col-index{left:0;z-index:3;background:#f1f1f1}.bulk-view-body .exel-view-column.sticky-col-index.error{background:#ffeeeb}.bulk-view-body .exel-view-column.sticky-col-index.warning{background:#fef8e7}.bulk-view-body .exel-view-column.sticky-col-index.info{background:#f4f8ff}.bulk-view-body .exel-view-column.sticky-col-name{left:60px}.bulk-view-body .exel-view-column.sl-no{background:#f1f1f1;width:60px;min-width:60px;min-height:30px;font-weight:400}.bulk-view-body .exel-view-column.sl-no.error{background:#ffeeeb;border:none;padding-right:10px;border-bottom:1px solid #dcdcdc}.bulk-view-body .exel-view-column.sl-no.warning{background:#fef8e7;border:none;padding-right:10px;border-bottom:1px solid #dcdcdc}.bulk-view-body .exel-view-column.sl-no.info{background:#f4f8ff;border:none;padding-right:10px;border-bottom:1px solid #dcdcdc}.bulk-view-body .exel-view-column.multi-column{padding:0;border:none}.bulk-view-body .exel-view-column.multi-column .exel-view-row{height:100%}.bulk-view-body .exel-view-column.multi-column .exel-view-column{width:50%;min-width:50%}.bulk-view-body .exel-view-column.multi-column .exel-view-column+.exel-view-column{border-left:none}.bulk-view-body.bulk{height:calc(100vh - 142px)}.bulk-view-body.bulk.is-horizontally-scrolled .sticky-col-name{overflow:visible}.bulk-view-body.bulk.is-horizontally-scrolled .sticky-col-name:after{content:\"\";position:absolute;top:-1px;bottom:-1px;right:0;width:8px;pointer-events:none;box-shadow:4px 0 8px #1e5dd326}.bulk-view-body.bulk .exel-view{display:flex;flex-direction:column;width:max-content;min-width:100%;min-height:100%}.bulk-view-body.bulk .exel-view-row{width:max-content;min-width:100%}.bulk-view-body.bulk .exel-view-row.head{position:sticky;top:0;z-index:4}.bulk-view-body.bulk .exel-view-row.head .exel-view-column{min-height:34px}.bulk-view-body.bulk .exel-view-row.head .exel-view-column.sticky-col{background:#f1f1f1;z-index:5}.bulk-view-body.bulk .exel-view-row.head .exel-view-column .info-text{font-size:10px;display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding:0 8px}.bulk-view-body.bulk .exel-view-row.two-column .exel-view-column{min-width:250px!important}.bulk-view-body.bulk .exel-view-row.three-column .exel-view-column,.bulk-view-body.bulk .exel-view-row.four-column .exel-view-column,.bulk-view-body.bulk .exel-view-row.five-column .exel-view-column,.bulk-view-body.bulk .exel-view-row.nine-column .exel-view-column{width:200px;min-width:200px!important}.bulk-view-body.bulk .exel-view-column .exel-view-row .exel-view-column.small-column{width:120px;min-width:120px!important}.bulk-view-body.bulk .exel-view-column.multi-column .exel-view-column{min-width:unset}.bulk-view-body.bulk .exel-view-column.two-column{width:500px;min-width:500px!important}.bulk-view-body.bulk .exel-view-column.three-column{width:600px;min-width:600px!important}.bulk-view-body.bulk .exel-view-column.four-column{width:800px;min-width:800px!important}.bulk-view-body.bulk .exel-view-column.five-column{width:1000px;min-width:1000px!important}.bulk-view-body.bulk .exel-view-column.nine-column{width:1800px;min-width:1800px!important}.bulk-view-body.bulk .exel-view .empty-fill-row{flex:1 1 auto;min-height:32px;align-items:stretch}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column{min-height:100%;background-color:#fff;background-image:repeating-linear-gradient(to bottom,#fff 0 31px,#dcdcdc 31px 32px);background-repeat:repeat-y;background-size:100% 32px}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column.multi-column{background-image:none;background-color:transparent}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column.sticky-col-index,.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column.sl-no{background-color:#f1f1f1;background-image:repeating-linear-gradient(to bottom,#f1f1f1 0 31px,#dcdcdc 31px 32px)}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-row{height:100%;align-items:stretch}.bulk-view-option{background:#fff;border-top:1px solid #f1f1f1;padding:0 20px;position:fixed;width:100%;bottom:50px;display:flex;align-items:center}.bulk-view-option button{background:transparent;border-radius:0;border:none;border-left:1px solid #f1f1f1;color:#747576;font-size:11px;font-weight:500;padding:0 .5rem;margin:0;height:2rem;position:relative}.bulk-view-option button:last-of-type{border-right:1px solid #f1f1f1}.bulk-view-option button.active{color:#1e5dd3}.bulk-view-option button.active:before{background:#fff;content:\"\";position:absolute;top:-1px;left:0;height:1px;width:100%}.bulk-view-footer{height:50px;box-shadow:0 0 15px #1e03d259;padding:10px 20px;position:fixed;width:100%;bottom:0;display:flex;align-items:center;justify-content:space-between;background:#fff}.bulk-view-footer .left p{color:#747576;font-size:13px;font-weight:500;margin:0}.bulk-view-footer .right button{font-size:12px;background:#fff;border:1px solid #dcdcdc;color:#747576;border-radius:2px;padding:8px 18px;cursor:pointer;text-transform:uppercase}.bulk-view-footer .right button+button{margin-left:4px}.bulk-view-footer .right button.blue{color:#fff;background:#1e5dd3}.bulk-view-footer .right button:disabled{background:#f1f1f1;border-color:#f1f1f1;pointer-events:none;cursor:not-allowed;color:#747576}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: LoaderComponent$1, selector: "app-loader" }] }); }
47092
47407
  }
47093
47408
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BulkResponsibilityViewComponent, decorators: [{
47094
47409
  type: Component,
47095
- args: [{ selector: 'app-bulk-responsibility-view', template: "<!-- --------------------------------------------------------------------upward is new one-------------------- -->\r\n<app-loader *ngIf=\"loader\"></app-loader>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<!-- HTML for multiple tabs -->\r\n<ng-container *ngIf=\"responsibilityType === 'multiTab'\">\r\n <ng-template #dropdownErr let-invalid>\r\n <i *ngIf=\"invalid\" class=\"icons\" [appTooltip]=\"VALIDATION_MESSAGES.DROPDOWN\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=\"true\">&#xe932;</i>\r\n </ng-template>\r\n <div class=\"bulk-view\">\r\n <div class=\"bulk-view-head\">\r\n <h2 class=\"bulk-view-title\">\r\n {{fileName}}\r\n </h2>\r\n </div>\r\n <div class=\"bulk-view-body bulk\" [class.is-horizontally-scrolled]=\"isHorizontallyScrolled\"\r\n (scroll)=\"onGridScroll($event)\">\r\n <div class=\"exel-view\">\r\n <div class=\"exel-view-row head\">\r\n <div class=\"exel-view-column sl-no sticky-col sticky-col-index\">#</div>\r\n <div class=\"exel-view-column sticky-col sticky-col-name\">Responsibility Name <span class=\"required\">*</span></div>\r\n <div class=\"exel-view-column\" *ngIf=\"responsibilityBulkUpload?.header.includes('Program')\"\r\n [class.three-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Program</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.three-column]=\"true\">\r\n <div class=\"exel-view-column\">Program Type</div>\r\n <div class=\"exel-view-column\">Program</div>\r\n <div class=\"exel-view-column\">Program Category</div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\">Entrusted By</div>\r\n <div class=\"exel-view-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Entrust To <span class=\"required\">*</span></div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\">Person or Group<span class=\"required\">*</span></div>\r\n <div class=\"exel-view-column\">All or Any Persons</div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\">Key Responsibility?</div>\r\n <div class=\"exel-view-column\" *ngIf=\"tabType === 'frequency'\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-row\">\r\n <!-- <div class=\"exel-view-column large\">Frequency of Occurrence and Completion Window <span class=\"required\">*</span></div> -->\r\n <div class=\"exel-view-column large\">{{responsibilityBulkUpload?.header.includes('Program') ?\r\n responsibilityBulkUpload?.header[8]?.slice(0, -1) :\r\n responsibilityBulkUpload?.header[5]?.slice(0, -1)}}<span class=\"required\">*</span></div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <ng-container *ngIf=\"tabType === 'frequency'\">\r\n <div class=\"exel-view-column\">Frequency <span class=\"required\">*</span></div>\r\n <div class=\"exel-view-column\">Due Date <span class=\"info-text\">(Day)</span></div>\r\n <div class=\"exel-view-column\">Due Date <span class=\"info-text\">(Month)</span></div>\r\n <div class=\"exel-view-column\" *ngIf=\"hasExtendedFrequencyColumns\">Due Time</div>\r\n <div class=\"exel-view-column\">Start <span class=\"info-text\">(No. of days before the due\r\n date)</span></div>\r\n <div class=\"exel-view-column\">Fail <span class=\"info-text\"\r\n appTooltip=\"(No. of days after the due date. Select '0' if the responsibility must be completed on the due date)\"\r\n placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">(No. of\r\n days after the due date. Select \"0\" if the responsibility must be completed on\r\n the due date)</span></div>\r\n <ng-container *ngIf=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\">Responsibility Ends After Occurences <span\r\n class=\"info-text\">(Number of occurrences)</span></div>\r\n <div class=\"exel-view-column\">Responsibility Ends By Date <span\r\n class=\"info-text\">(Day)</span></div>\r\n <div class=\"exel-view-column\">Responsibility Ends By Date <span\r\n class=\"info-text\">(Month)</span></div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column two-column\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Responsibility Centre</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\">Responsibility Centre Name</div>\r\n <div class=\"exel-view-column\">Responsibility Centre Type</div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\">Risk Class</div>\r\n <div class=\"exel-view-column\">Objective</div>\r\n <div class=\"exel-view-column\">Notes</div>\r\n <div class=\"exel-view-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Format & Evidence</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\" [class.three-column]=\"false\">\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\">Format</div>\r\n <div class=\"exel-view-column\">Format For Responsibility (link)</div>\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\">Evidence</div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"exel-view-column\">Assessments or Checkpoints</div> -->\r\n <div class=\"exel-view-column four-column\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Review of Responsibility</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.four-column]=\"true\">\r\n <div class=\"exel-view-column\">Reviewer</div>\r\n <div class=\"exel-view-column\">Reviewer Type\r\n <span class=\"info-text\">(Specify the type of reviewer flow)</span>\r\n\r\n </div>\r\n\r\n <div class=\"exel-view-column\">Review Start <span class=\"info-text\">(No. of days before the\r\n due date)</span></div>\r\n <div class=\"exel-view-column\">Review Fail <span class=\"info-text\"\r\n appTooltip=\"(No. of days after the due date. Select '0' if the responsibility must be reviewed on the due date)\"\r\n placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">(No. of days\r\n after the due date. Select \"0\" if the responsibility must be reviewed on the due\r\n date)</span></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Overseer</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\">Always Notify</div>\r\n <div class=\"exel-view-column\">Notify on Failure</div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"exel-view-column\">Overseer</div> -->\r\n\r\n <!-- Collaborator -->\r\n <div class=\"exel-view-column\">Collaborator</div>\r\n\r\n </div>\r\n <div class=\"exel-view-row\" *ngFor=\"let report of responsibilityBulkUpload?.reports; let i = index\">\r\n <div class=\"exel-view-column sl-no sticky-col sticky-col-index\" [class.error]=\"!report?.isValid\">{{i+1}}</div>\r\n <div class=\"exel-view-column sticky-col sticky-col-name\" [class.error]=\"!report.responsibilityName\">\r\n {{report?.responsibilityName}} <i *ngIf=\"!report.responsibilityName\" class=\"icons\"\r\n [appTooltip]=\"'Enter a name for this responsibility.'\" placement=\"bottom-right\" type=\"white\"\r\n delay=\"0\" [tooltipMandatory]=true>&#xe932;</i></div>\r\n <div class=\"exel-view-column multi-column\"\r\n *ngIf=\"responsibilityBulkUpload?.header.includes('Program')\" [class.error]=\"false\"\r\n [class.three-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.three-column]=\"true\">\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.programType === false\">\r\n {{report?.programType}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.programType === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.program === false\">\r\n {{report?.program}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.program === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.programCategory === false\">\r\n {{report?.programCategory}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.programCategory === false }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.assignor === false\">{{report?.assignor}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.assignor === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!report?.assignee || !report?.userValidateWithProgram?.isValidAssignee || (!report?.isValidUser) || report?.dropdownValidation?.assignee === false\">\r\n {{report?.assignee}}\r\n <!-- || (!report?.isValidUser) -->\r\n <i *ngIf=\"!report?.assignee\" class=\"icons\"\r\n [appTooltip]=\"'Select the user responsible for completing this responsibility. '\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.assignee && report?.dropdownValidation?.assignee === false }\"></ng-container>\r\n <i *ngIf=\"(report?.assignee) && report?.dropdownValidation?.assignee !== false && !report?.userValidateWithProgram?.isValidAssignee\"\r\n class=\"icons\"\r\n [appTooltip]=\"'This user is not associated with the selected Program.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.assigneeType === false\">\r\n {{report?.assigneeType}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.assigneeType === false }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.keyResponsibility === false\">\r\n {{report?.keyResponsibility}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.keyResponsibility === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\"\r\n *ngIf=\"tabType === 'frequency'\">\r\n\r\n <div class=\"exel-view-row multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\" [class.error]=\"!report?.frequency || report?.dropdownValidation?.frequency === false\">{{report?.frequency}}\r\n <i *ngIf=\"!report?.frequency\" class=\"icons\"\r\n [appTooltip]=\"'Select a frequency for this responsibility.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.frequency && report?.dropdownValidation?.frequency === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [class.error]=\"report?.dropdownValidation?.day === false || !report?.validDate || report?.isPastDate\">\r\n {{report?.day}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.day === false }\"></ng-container>\r\n <i *ngIf=\"report?.dropdownValidation?.day !== false && !report?.validDate\" class=\"icons\" [appTooltip]=\"'Invalid Due Date.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n <i *ngIf=\"report?.dropdownValidation?.day !== false && report?.isPastDate\" class=\"icons\"\r\n [appTooltip]=\"'This date occurs in the past. Select a future date.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <div class=\"exel-view-column\" [class.error]=\"report?.dropdownValidation?.month === false || !report?.validDate || report?.isPastDate\">\r\n {{report?.month}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.month === false }\"></ng-container>\r\n <i *ngIf=\"report?.dropdownValidation?.month !== false && !report?.validDate\" class=\"icons\" [appTooltip]=\"'Invalid Due Date.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n <i *ngIf=\"report?.dropdownValidation?.month !== false && report?.isPastDate\" class=\"icons\"\r\n [appTooltip]=\"'This date occurs in the past. Select a future date.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <div class=\"exel-view-column\" *ngIf=\"hasExtendedFrequencyColumns\"\r\n [class.error]=\"!report?.isValidDueTime || report?.dropdownValidation?.dueTime === false\">{{report?.dueTime}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: !report?.isValidDueTime || report?.dropdownValidation?.dueTime === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!!report?.responsibilityWindowError\">{{report?.responsibilityWindow}}\r\n <i *ngIf=\"report?.responsibilityWindowError\" class=\"icons\"\r\n [appTooltip]=\"report?.responsibilityWindowError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!!report?.failedAfterError\">{{report?.failedAfter}}\r\n <i *ngIf=\"report?.failedAfterError\" class=\"icons\"\r\n [appTooltip]=\"report?.failedAfterError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <ng-container *ngIf=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!report?.isValidEndsAfterOccurrences\">{{report?.endsAfterOccurrences}}\r\n <i *ngIf=\"!report?.isValidEndsAfterOccurrences\" class=\"icons\"\r\n [appTooltip]=\"report?.endsAfterOccurrencesError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!report?.isValidEndsByDateDay\">{{report?.endsByDateDay}}\r\n <i *ngIf=\"!report?.isValidEndsByDateDay\" class=\"icons\"\r\n [appTooltip]=\"report?.endsByDateDayError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!report?.isValidEndsByDateMonth\">{{report?.endsByDateMonth}}\r\n <i *ngIf=\"!report?.isValidEndsByDateMonth\" class=\"icons\"\r\n [appTooltip]=\"report?.endsByDateMonthError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.responsibilityCenter === false\">\r\n {{report?.responsibilityCenter}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.responsibilityCenter === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.responsibilityCenterType === false\">\r\n {{report?.responsibilityCenterType}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.responsibilityCenterType === false }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.reportClass === false\">\r\n {{report?.reportClass}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.reportClass === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\">{{report?.objective}}</div>\r\n <div class=\"exel-view-column\">{{report?.notes}}</div>\r\n <div class=\"exel-view-column multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column multi-column\">\r\n <div class=\"exel-view-row multi-column\">\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\"\r\n [class.error]=\"report?.dropdownValidation?.isFormat === false\">{{report?.isFormat}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.isFormat === false }\"></ng-container>\r\n </div>\r\n <a class=\"exel-view-column external-link\" [href]=\"report?.formatForResponsibility\"\r\n target=\"_blank\">{{report?.formatForResponsibility}}</a>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\"\r\n [class.error]=\"report?.dropdownValidation?.documentEvidenceRequired === false\">\r\n {{report?.documentEvidenceRequired}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.documentEvidenceRequired === false }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"exel-view-column\">{{report?.assessments}}</div> -->\r\n <div class=\"exel-view-column multi-column\" [class.four-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.four-column]=\"true\">\r\n <div class=\"exel-view-column\" [class.error]=\"report?.dropdownValidation?.reviewer === false || (report?.reviewer && (\r\n !report?.userValidateWithProgram?.isValidReviewer ))\">{{report?.reviewer}}\r\n\r\n <!-- <i *ngIf=\"(report?.reviewer && report?.reviewer === report?.assignor)\"\r\n class=\"icons\"\r\n [appTooltip]=\"((report?.assignor)?'The Assignor cannot also be the Reviewer of this responsibility.':'You cannot be a Reviewer of this responsibility since you are the assignor. ') +'Select another user as the Reviewer'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i> -->\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.reviewer === false }\"></ng-container>\r\n <i *ngIf=\"report?.reviewer && report?.dropdownValidation?.reviewer !== false && !report?.userValidateWithProgram?.isValidReviewer\"\r\n class=\"icons\"\r\n [appTooltip]=\"'This user is not associated with the selected Program.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.reviewerType === false\">\r\n {{report?.reviewerType}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.reviewerType === false }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!!report?.reviewToBeCompletedWithinError\">{{report?.reviewToBeCompletedWithin}}\r\n <i *ngIf=\"report?.reviewToBeCompletedWithinError\" class=\"icons\"\r\n [appTooltip]=\"report?.reviewToBeCompletedWithinError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"!!report?.reviewWillBeFailedAfterError\">{{report?.reviewWillBeFailedAfter}}\r\n <i *ngIf=\"report?.reviewWillBeFailedAfterError\" class=\"icons\"\r\n [appTooltip]=\"report?.reviewWillBeFailedAfterError\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;</i>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"exel-view-column multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\" [class.error]=\"report?.dropdownValidation?.overseer === false || (report?.overseer && (\r\n !report?.userValidateWithProgram?.isValidOverseer ))\">\r\n {{report?.overseer}}\r\n\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.overseer === false }\"></ng-container>\r\n <i *ngIf=\"(report?.overseer) && report?.dropdownValidation?.overseer !== false && !report?.userValidateWithProgram?.isValidOverseer\"\r\n class=\"icons\"\r\n [appTooltip]=\"'This user is not associated with the selected Program.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n </div>\r\n <div class=\"exel-view-column\" [class.error]=\"report?.dropdownValidation?.notifyOnFailure === false || (report?.notifyOnFailure && (\r\n !report?.userValidateWithProgram?.isValidNotifyOnFailure ))\">\r\n {{report?.notifyOnFailure}}\r\n\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.notifyOnFailure === false }\"></ng-container>\r\n <i *ngIf=\"(report?.notifyOnFailure) && report?.dropdownValidation?.notifyOnFailure !== false && !report?.userValidateWithProgram?.isValidNotifyOnFailure\"\r\n class=\"icons\"\r\n [appTooltip]=\"'This user is not associated with the selected Program.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"exel-view-column\"\r\n [class.error]=\"report?.dropdownValidation?.collaborator === false\">{{report?.collaborator}}\r\n <ng-container *ngTemplateOutlet=\"dropdownErr; context: { $implicit: report?.dropdownValidation?.collaborator === false }\"></ng-container>\r\n </div>\r\n\r\n <!-- <div class=\"exel-view-column\" [class.error]=\"(report?.overseer) && ((report?.overseer === report?.assignee) ||(report?.reviewer === report?.overseer) || (report?.overseer == report?.assignor) || (!report?.userValidateWithProgram?.isValidOverseer))\">\r\n {{report?.overseer}}\r\n <i *ngIf=\"(report?.overseer) && ((report?.reviewer === report?.overseer))\"\r\n class=\"icons\"\r\n [appTooltip]=\"'The Reviewer cannot also be the Overseer of this responsibility. Select another user as the Overseer.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n\r\n <i *ngIf=\"report?.overseer && (report?.overseer === report?.assignee)\" class=\"icons\"\r\n [appTooltip]=\"'The Assignee cannot also be the Overseer of this responsibility. Select another user as the Overseer'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n <i *ngIf=\"((report?.overseer) && (report?.overseer == report?.assignor))\"\r\n class=\"icons\"\r\n [appTooltip]=\"((report?.assignor)?'The Assignor cannot also be the Overseer of this responsibility. ':'You cannot be an Overseer of this responsibility since you are the Assignor. ') +'Select another user as the Overseer.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n <i *ngIf=\"!report?.userValidateWithProgram?.isValidOverseer\"\r\n class=\"icons\"\r\n [appTooltip]=\"'Selected user is not a valid overseer for selected program.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"exel-view-row empty-fill-row\" aria-hidden=\"true\">\r\n <div class=\"exel-view-column sl-no sticky-col sticky-col-index\"></div>\r\n <div class=\"exel-view-column sticky-col sticky-col-name\"></div>\r\n <div class=\"exel-view-column multi-column three-column\" *ngIf=\"hasProgramColumn\">\r\n <div class=\"exel-view-row multi-column three-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\"\r\n *ngIf=\"tabType === 'frequency'\">\r\n <div class=\"exel-view-row multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\" *ngIf=\"hasExtendedFrequencyColumns\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <ng-container *ngIf=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column multi-column\">\r\n <div class=\"exel-view-row multi-column\">\r\n <div class=\"exel-view-column small-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column small-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column multi-column four-column\">\r\n <div class=\"exel-view-row multi-column four-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ------------------------------------------------old code dynamic------------------------------------------------- -->\r\n\r\n <!-- *ngFor=\"let report of responsibilityBulkUpload?.reports; let i = index\" -->\r\n </div>\r\n </div>\r\n <div class=\"bulk-view-option\">\r\n <button *ngIf=\"bulkUpload?.frequency?.reports?.length\" [class.active]=\"tabType === 'frequency'\"\r\n (click)=\"selectedTab.emit('frequency')\">Frequency Responsibilities</button>\r\n <button *ngIf=\"bulkUpload?.ongoing?.reports?.length\" [class.active]=\"tabType === 'ongoing'\"\r\n (click)=\"selectedTab.emit('ongoing')\">Ongoing Responsibilities</button>\r\n <button *ngIf=\"bulkUpload?.onCompletion?.reports?.length\" [class.active]=\"tabType === 'onCompletion'\"\r\n (click)=\"selectedTab.emit('onCompletion')\">On Completion Responsibilities</button>\r\n </div>\r\n <div class=\"bulk-view-footer\">\r\n <!-- <div class=\"left\">\r\n <p>{{finalResponsibilities}} out of {{responsibilityBulkUpload?.reports?.length}} responsibilities will be\r\n uploaded.</p>\r\n </div> -->\r\n <div class=\"left\">\r\n <p>{{finalResponsibilities}} out of {{responsibilityMultiTabBulkUpload?.length}}\r\n {{responsibilityMultiTabBulkUpload?.length > 1 ? 'responsibilities' : 'responsibility'}} will be\r\n uploaded.</p>\r\n </div>\r\n <div class=\"right\">\r\n <button (click)=\"close()\" id=\"bulk-resp-cancel\">Cancel</button>\r\n <button (click)=\"submit()\" id=\"bulk-resp-confirm\" [disabled]=\"!isConfirmClickable\"\r\n class=\"blue\">Confirm</button>\r\n <!-- finalResponsibilities < 1 -->\r\n </div>\r\n </div>\r\n </div>\r\n <app-loader *ngIf=\"loader\"></app-loader>\r\n\r\n</ng-container>\r\n\r\n<!-- --------------------------------------------------------------------upward is new one-------------------- -->", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:#747576;border-radius:16px}::-webkit-scrollbar{height:15px}.bulk-view{position:fixed;inset:0;z-index:11}.bulk-view-head{height:60px;padding:20px 24px;background:#161b2f;display:flex;justify-content:flex-start}.bulk-view-title{font-size:16px;line-height:20px;font-weight:400;margin:0;color:#fff}.bulk-view-body{height:calc(100vh - 110px);overflow:auto;width:100%;background:#fff}.bulk-view-body .exel-view{display:block}.bulk-view-body .exel-view-row{display:flex;width:100%}.bulk-view-body .exel-view-row.head .exel-view-column{font-weight:500;font-size:14px;min-height:26px;background:#f1f1f1;padding:0;word-break:unset}.bulk-view-body .exel-view-row.multi-column .exel-view-column{width:140px;min-width:140px}.bulk-view-body .exel-view-row.multi-column .external-link{color:#1e5dd3;text-decoration:none}.bulk-view-body .exel-view-column{width:300px;min-width:300px;padding:0 10px;border-right:1px solid #dcdcdc;border-bottom:1px solid #dcdcdc;display:flex;align-items:center;justify-content:center;text-align:center;word-break:break-all;line-height:16px;font-size:12px;color:#161b2f;flex-wrap:wrap;position:relative}.bulk-view-body .exel-view-column i.icons{position:absolute;top:8px;right:10px;cursor:pointer;color:#d93b41}.bulk-view-body .exel-view-column.large{width:100%;min-width:auto}.bulk-view-body .exel-view-column.error{border:1px solid #EB2424!important;padding-right:24px}.bulk-view-body .exel-view-column.error+.error{border-left:none!important}.bulk-view-body .exel-view-column span.required{color:#eb2424;display:contents}.bulk-view-body .exel-view-column .exel-view-row .exel-view-column{width:100%}.bulk-view-body .exel-view-column.sticky-col{position:sticky;z-index:2;background:#fff}.bulk-view-body .exel-view-column.sticky-col-index{left:0;z-index:3;background:#f1f1f1}.bulk-view-body .exel-view-column.sticky-col-name{left:60px}.bulk-view-body .exel-view-column.sl-no{background:#f1f1f1;width:60px;min-width:60px;min-height:30px;font-weight:400}.bulk-view-body .exel-view-column.sl-no.error{background:#f5d6d7;border:none;padding-right:10px;border-bottom:1px solid #dcdcdc}.bulk-view-body .exel-view-column.multi-column{padding:0;border:none}.bulk-view-body .exel-view-column.multi-column .exel-view-row{height:100%}.bulk-view-body .exel-view-column.multi-column .exel-view-column{width:50%;min-width:50%}.bulk-view-body .exel-view-column.multi-column .exel-view-column+.exel-view-column{border-left:none}.bulk-view-body.bulk{height:calc(100vh - 142px)}.bulk-view-body.bulk.is-horizontally-scrolled .sticky-col-name{overflow:visible}.bulk-view-body.bulk.is-horizontally-scrolled .sticky-col-name:after{content:\"\";position:absolute;top:-1px;bottom:-1px;right:0;width:8px;pointer-events:none;box-shadow:4px 0 8px #1e5dd326}.bulk-view-body.bulk .exel-view{display:flex;flex-direction:column;width:max-content;min-width:100%;min-height:100%}.bulk-view-body.bulk .exel-view-row{width:max-content;min-width:100%}.bulk-view-body.bulk .exel-view-row.head{position:sticky;top:0;z-index:4}.bulk-view-body.bulk .exel-view-row.head .exel-view-column{min-height:34px}.bulk-view-body.bulk .exel-view-row.head .exel-view-column.sticky-col{background:#f1f1f1;z-index:5}.bulk-view-body.bulk .exel-view-row.head .exel-view-column .info-text{font-size:10px;display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding:0 8px}.bulk-view-body.bulk .exel-view-row.two-column .exel-view-column{min-width:250px!important}.bulk-view-body.bulk .exel-view-row.three-column .exel-view-column,.bulk-view-body.bulk .exel-view-row.four-column .exel-view-column,.bulk-view-body.bulk .exel-view-row.five-column .exel-view-column,.bulk-view-body.bulk .exel-view-row.nine-column .exel-view-column{width:200px;min-width:200px!important}.bulk-view-body.bulk .exel-view-column .exel-view-row .exel-view-column.small-column{width:120px;min-width:120px!important}.bulk-view-body.bulk .exel-view-column.multi-column .exel-view-column{min-width:unset}.bulk-view-body.bulk .exel-view-column.two-column{width:500px;min-width:500px!important}.bulk-view-body.bulk .exel-view-column.three-column{width:600px;min-width:600px!important}.bulk-view-body.bulk .exel-view-column.four-column{width:800px;min-width:800px!important}.bulk-view-body.bulk .exel-view-column.five-column{width:1000px;min-width:1000px!important}.bulk-view-body.bulk .exel-view-column.nine-column{width:1800px;min-width:1800px!important}.bulk-view-body.bulk .exel-view .empty-fill-row{flex:1 1 auto;min-height:32px;align-items:stretch}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column{min-height:100%;background-color:#fff;background-image:repeating-linear-gradient(to bottom,#fff 0 31px,#dcdcdc 31px 32px);background-repeat:repeat-y;background-size:100% 32px}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column.multi-column{background-image:none;background-color:transparent}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column.sticky-col-index,.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column.sl-no{background-color:#f1f1f1;background-image:repeating-linear-gradient(to bottom,#f1f1f1 0 31px,#dcdcdc 31px 32px)}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-row{height:100%;align-items:stretch}.bulk-view-option{background:#fff;border-top:1px solid #f1f1f1;padding:0 20px;position:fixed;width:100%;bottom:50px;display:flex;align-items:center}.bulk-view-option button{background:transparent;border-radius:0;border:none;border-left:1px solid #f1f1f1;color:#747576;font-size:11px;font-weight:500;padding:0 .5rem;margin:0;height:2rem;position:relative}.bulk-view-option button:last-of-type{border-right:1px solid #f1f1f1}.bulk-view-option button.active{color:#1e5dd3}.bulk-view-option button.active:before{background:#fff;content:\"\";position:absolute;top:-1px;left:0;height:1px;width:100%}.bulk-view-footer{height:50px;box-shadow:0 0 15px #1e03d259;padding:10px 20px;position:fixed;width:100%;bottom:0;display:flex;align-items:center;justify-content:space-between;background:#fff}.bulk-view-footer .left p{color:#747576;font-size:13px;font-weight:500;margin:0}.bulk-view-footer .right button{font-size:12px;background:#fff;border:1px solid #dcdcdc;color:#747576;border-radius:2px;padding:8px 18px;cursor:pointer;text-transform:uppercase}.bulk-view-footer .right button+button{margin-left:4px}.bulk-view-footer .right button.blue{color:#fff;background:#1e5dd3}.bulk-view-footer .right button:disabled{background:#f1f1f1;border-color:#f1f1f1;pointer-events:none;cursor:not-allowed;color:#747576}\n"] }]
47410
+ args: [{ selector: 'app-bulk-responsibility-view', template: "<!-- --------------------------------------------------------------------upward is new one-------------------- -->\r\n<app-loader *ngIf=\"loader\"></app-loader>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<!-- HTML for multiple tabs -->\r\n<ng-container *ngIf=\"responsibilityType === 'multiTab'\">\r\n <ng-template #fieldIcon let-report let-field=\"field\">\r\n <i *ngIf=\"cellMessage(report, field)\" class=\"icons\" [ngClass]=\"cellSeverity(report, field)\"\r\n [appTooltip]=\"cellMessage(report, field)\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n <ng-container *ngIf=\"cellSeverity(report, field) === 'error'\">&#xe914;</ng-container>\r\n <ng-container *ngIf=\"cellSeverity(report, field) !== 'error'\">&#xe932;</ng-container>\r\n </i>\r\n </ng-template>\r\n <div class=\"bulk-view\">\r\n <div class=\"bulk-view-head\">\r\n <h2 class=\"bulk-view-title\">\r\n {{fileName}}\r\n </h2>\r\n </div>\r\n <div class=\"bulk-view-body bulk\" [class.is-horizontally-scrolled]=\"isHorizontallyScrolled\"\r\n (scroll)=\"onGridScroll($event)\">\r\n <div class=\"exel-view\">\r\n <div class=\"exel-view-row head\">\r\n <div class=\"exel-view-column sl-no sticky-col sticky-col-index\">#</div>\r\n <div class=\"exel-view-column sticky-col sticky-col-name\">Responsibility Name <span class=\"required\">*</span></div>\r\n <div class=\"exel-view-column\" *ngIf=\"responsibilityBulkUpload?.header.includes('Program')\"\r\n [class.three-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Program</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.three-column]=\"true\">\r\n <div class=\"exel-view-column\">Program Type</div>\r\n <div class=\"exel-view-column\">Program</div>\r\n <div class=\"exel-view-column\">Program Category</div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\">Entrusted By</div>\r\n <div class=\"exel-view-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Entrust To <span class=\"required\">*</span></div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\">Person or Group<span class=\"required\">*</span></div>\r\n <div class=\"exel-view-column\">All or Any Persons</div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\">Key Responsibility?</div>\r\n <div class=\"exel-view-column\" *ngIf=\"tabType === 'frequency'\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-row\">\r\n <!-- <div class=\"exel-view-column large\">Frequency of Occurrence and Completion Window <span class=\"required\">*</span></div> -->\r\n <div class=\"exel-view-column large\">{{responsibilityBulkUpload?.header.includes('Program') ?\r\n responsibilityBulkUpload?.header[8]?.slice(0, -1) :\r\n responsibilityBulkUpload?.header[5]?.slice(0, -1)}}<span class=\"required\">*</span></div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <ng-container *ngIf=\"tabType === 'frequency'\">\r\n <div class=\"exel-view-column\">Frequency <span class=\"required\">*</span></div>\r\n <div class=\"exel-view-column\">Due Date <span class=\"info-text\">(Day)</span></div>\r\n <div class=\"exel-view-column\">Due Date <span class=\"info-text\">(Month)</span></div>\r\n <div class=\"exel-view-column\" *ngIf=\"hasExtendedFrequencyColumns\">Due Time</div>\r\n <div class=\"exel-view-column\">Start <span class=\"info-text\">(No. of days before the due\r\n date)</span></div>\r\n <div class=\"exel-view-column\">Fail <span class=\"info-text\"\r\n appTooltip=\"(No. of days after the due date. Select '0' if the responsibility must be completed on the due date)\"\r\n placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">(No. of\r\n days after the due date. Select \"0\" if the responsibility must be completed on\r\n the due date)</span></div>\r\n <ng-container *ngIf=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\">Responsibility Ends After Occurences <span\r\n class=\"info-text\">(Number of occurrences)</span></div>\r\n <div class=\"exel-view-column\">Responsibility Ends By Date <span\r\n class=\"info-text\">(Day)</span></div>\r\n <div class=\"exel-view-column\">Responsibility Ends By Date <span\r\n class=\"info-text\">(Month)</span></div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column two-column\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Responsibility Centre</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\">Responsibility Centre Name</div>\r\n <div class=\"exel-view-column\">Responsibility Centre Type</div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\">Risk Class</div>\r\n <div class=\"exel-view-column\">Objective</div>\r\n <div class=\"exel-view-column\">Notes</div>\r\n <div class=\"exel-view-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Format & Evidence</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\" [class.three-column]=\"false\">\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\">Format</div>\r\n <div class=\"exel-view-column\">Format For Responsibility (link)</div>\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\">Evidence</div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"exel-view-column\">Assessments or Checkpoints</div> -->\r\n <div class=\"exel-view-column four-column\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Review of Responsibility</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.four-column]=\"true\">\r\n <div class=\"exel-view-column\">Reviewer</div>\r\n <div class=\"exel-view-column\">Reviewer Type\r\n <span class=\"info-text\">(Specify the type of reviewer flow)</span>\r\n\r\n </div>\r\n\r\n <div class=\"exel-view-column\">Review Start <span class=\"info-text\">(No. of days before the\r\n due date)</span></div>\r\n <div class=\"exel-view-column\">Review Fail <span class=\"info-text\"\r\n appTooltip=\"(No. of days after the due date. Select '0' if the responsibility must be reviewed on the due date)\"\r\n placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">(No. of days\r\n after the due date. Select \"0\" if the responsibility must be reviewed on the due\r\n date)</span></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row\">\r\n <div class=\"exel-view-column large\">Overseer</div>\r\n </div>\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\">Always Notify</div>\r\n <div class=\"exel-view-column\">Notify on Failure</div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"exel-view-column\">Overseer</div> -->\r\n\r\n <!-- Collaborator -->\r\n <div class=\"exel-view-column\">Collaborator</div>\r\n\r\n </div>\r\n <div class=\"exel-view-row\" *ngFor=\"let report of responsibilityBulkUpload?.reports; let i = index\">\r\n <div class=\"exel-view-column sl-no sticky-col sticky-col-index\" [ngClass]=\"rowIndexClass(report)\">{{i+1}}</div>\r\n <div class=\"exel-view-column sticky-col sticky-col-name\" [ngClass]=\"cellClass(report, 'responsibilityName')\">\r\n {{report?.responsibilityName}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'responsibilityName' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column multi-column\"\r\n *ngIf=\"responsibilityBulkUpload?.header.includes('Program')\" [class.error]=\"false\"\r\n [class.three-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.three-column]=\"true\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'programType')\">\r\n {{report?.programType}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'programType' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'program')\">\r\n {{report?.program}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'program' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'programCategory')\">\r\n {{report?.programCategory}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'programCategory' }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'assignor')\">{{report?.assignor}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'assignor' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'assignee')\">\r\n {{report?.assignee}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'assignee' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'assigneeType')\">\r\n {{report?.assigneeType}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'assigneeType' }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'keyResponsibility')\">\r\n {{report?.keyResponsibility}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'keyResponsibility' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\"\r\n *ngIf=\"tabType === 'frequency'\">\r\n\r\n <div class=\"exel-view-row multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'frequency')\">{{report?.frequency}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'frequency' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'day')\">\r\n {{report?.day}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'day' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'month')\">\r\n {{report?.month}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'month' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" *ngIf=\"hasExtendedFrequencyColumns\"\r\n [ngClass]=\"cellClass(report, 'dueTime')\">{{report?.dueTime}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'dueTime' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'responsibilityWindow')\">{{report?.responsibilityWindow}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'responsibilityWindow' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'failedAfter')\">{{report?.failedAfter}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'failedAfter' }\"></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'endsAfterOccurrences')\">{{report?.endsAfterOccurrences}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'endsAfterOccurrences' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'endsByDateDay')\">{{report?.endsByDateDay}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'endsByDateDay' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'endsByDateMonth')\">{{report?.endsByDateMonth}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'endsByDateMonth' }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'responsibilityCenter')\">\r\n {{report?.responsibilityCenter}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'responsibilityCenter' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'responsibilityCenterType')\">\r\n {{report?.responsibilityCenterType}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'responsibilityCenterType' }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'reportClass')\">\r\n {{report?.reportClass}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'reportClass' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\">{{report?.objective}}</div>\r\n <div class=\"exel-view-column\">{{report?.notes}}</div>\r\n <div class=\"exel-view-column multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column multi-column\">\r\n <div class=\"exel-view-row multi-column\">\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\"\r\n [ngClass]=\"cellClass(report, 'isFormat')\">{{report?.isFormat}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'isFormat' }\"></ng-container>\r\n </div>\r\n <a class=\"exel-view-column external-link\" [href]=\"report?.formatForResponsibility\"\r\n [ngClass]=\"cellClass(report, 'formatForResponsibility')\"\r\n target=\"_blank\">{{report?.formatForResponsibility}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'formatForResponsibility' }\"></ng-container>\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\" [class.small-column]=\"true\"\r\n [ngClass]=\"cellClass(report, 'documentEvidenceRequired')\">\r\n {{report?.documentEvidenceRequired}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'documentEvidenceRequired' }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"exel-view-column\">{{report?.assessments}}</div> -->\r\n <div class=\"exel-view-column multi-column\" [class.four-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.four-column]=\"true\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'reviewer')\">{{report?.reviewer}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'reviewer' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'reviewerType')\">\r\n {{report?.reviewerType}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'reviewerType' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'reviewToBeCompletedWithin')\">{{report?.reviewToBeCompletedWithin}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'reviewToBeCompletedWithin' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'reviewWillBeFailedAfter')\">{{report?.reviewWillBeFailedAfter}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'reviewWillBeFailedAfter' }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"exel-view-column multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-row multi-column\" [class.two-column]=\"true\">\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'overseer')\">\r\n {{report?.overseer}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'overseer' }\"></ng-container>\r\n </div>\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'notifyOnFailure')\">\r\n {{report?.notifyOnFailure}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'notifyOnFailure' }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"exel-view-column\" [ngClass]=\"cellClass(report, 'collaborator')\">{{report?.collaborator}}\r\n <ng-container *ngTemplateOutlet=\"fieldIcon; context: { $implicit: report, field: 'collaborator' }\"></ng-container>\r\n </div>\r\n\r\n <!-- <div class=\"exel-view-column\" [class.error]=\"(report?.overseer) && ((report?.overseer === report?.assignee) ||(report?.reviewer === report?.overseer) || (report?.overseer == report?.assignor) || (!report?.userValidateWithProgram?.isValidOverseer))\">\r\n {{report?.overseer}}\r\n <i *ngIf=\"(report?.overseer) && ((report?.reviewer === report?.overseer))\"\r\n class=\"icons\"\r\n [appTooltip]=\"'The Reviewer cannot also be the Overseer of this responsibility. Select another user as the Overseer.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n\r\n <i *ngIf=\"report?.overseer && (report?.overseer === report?.assignee)\" class=\"icons\"\r\n [appTooltip]=\"'The Assignee cannot also be the Overseer of this responsibility. Select another user as the Overseer'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n <i *ngIf=\"((report?.overseer) && (report?.overseer == report?.assignor))\"\r\n class=\"icons\"\r\n [appTooltip]=\"((report?.assignor)?'The Assignor cannot also be the Overseer of this responsibility. ':'You cannot be an Overseer of this responsibility since you are the Assignor. ') +'Select another user as the Overseer.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n <i *ngIf=\"!report?.userValidateWithProgram?.isValidOverseer\"\r\n class=\"icons\"\r\n [appTooltip]=\"'Selected user is not a valid overseer for selected program.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=true>&#xe932;\r\n </i>\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"exel-view-row empty-fill-row\" aria-hidden=\"true\">\r\n <div class=\"exel-view-column sl-no sticky-col sticky-col-index\"></div>\r\n <div class=\"exel-view-column sticky-col sticky-col-name\"></div>\r\n <div class=\"exel-view-column multi-column three-column\" *ngIf=\"hasProgramColumn\">\r\n <div class=\"exel-view-row multi-column three-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\"\r\n *ngIf=\"tabType === 'frequency'\">\r\n <div class=\"exel-view-row multi-column\"\r\n [class.five-column]=\"!hasExtendedFrequencyColumns\"\r\n [class.nine-column]=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\" *ngIf=\"hasExtendedFrequencyColumns\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <ng-container *ngIf=\"hasExtendedFrequencyColumns\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column multi-column\">\r\n <div class=\"exel-view-row multi-column\">\r\n <div class=\"exel-view-column small-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column small-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column multi-column four-column\">\r\n <div class=\"exel-view-row multi-column four-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column multi-column two-column\">\r\n <div class=\"exel-view-row multi-column two-column\">\r\n <div class=\"exel-view-column\"></div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n </div>\r\n <div class=\"exel-view-column\"></div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ------------------------------------------------old code dynamic------------------------------------------------- -->\r\n\r\n <!-- *ngFor=\"let report of responsibilityBulkUpload?.reports; let i = index\" -->\r\n </div>\r\n </div>\r\n <div class=\"bulk-view-option\">\r\n <button *ngIf=\"bulkUpload?.frequency?.reports?.length\" [class.active]=\"tabType === 'frequency'\"\r\n (click)=\"selectedTab.emit('frequency')\">Frequency Responsibilities</button>\r\n <button *ngIf=\"bulkUpload?.ongoing?.reports?.length\" [class.active]=\"tabType === 'ongoing'\"\r\n (click)=\"selectedTab.emit('ongoing')\">Ongoing Responsibilities</button>\r\n <button *ngIf=\"bulkUpload?.onCompletion?.reports?.length\" [class.active]=\"tabType === 'onCompletion'\"\r\n (click)=\"selectedTab.emit('onCompletion')\">On Completion Responsibilities</button>\r\n </div>\r\n <div class=\"bulk-view-footer\">\r\n <!-- <div class=\"left\">\r\n <p>{{finalResponsibilities}} out of {{responsibilityBulkUpload?.reports?.length}} responsibilities will be\r\n added.</p>\r\n </div> -->\r\n <div class=\"left\">\r\n <p>{{finalResponsibilities}} out of {{responsibilityMultiTabBulkUpload?.length}}\r\n {{responsibilityMultiTabBulkUpload?.length > 1 ? 'responsibilities' : 'responsibility'}} will be\r\n added.</p>\r\n </div>\r\n <div class=\"right\">\r\n <button (click)=\"close()\" id=\"bulk-resp-cancel\">Cancel</button>\r\n <button (click)=\"submit()\" id=\"bulk-resp-confirm\" [disabled]=\"!isConfirmClickable\"\r\n class=\"blue\">Confirm</button>\r\n <!-- finalResponsibilities < 1 -->\r\n </div>\r\n </div>\r\n </div>\r\n <app-loader *ngIf=\"loader\"></app-loader>\r\n\r\n</ng-container>\r\n\r\n<!-- --------------------------------------------------------------------upward is new one-------------------- -->", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:#747576;border-radius:16px}::-webkit-scrollbar{height:15px}.bulk-view{position:fixed;inset:0;z-index:11}.bulk-view-head{height:60px;padding:20px 24px;background:#161b2f;display:flex;justify-content:flex-start}.bulk-view-title{font-size:16px;line-height:20px;font-weight:400;margin:0;color:#fff}.bulk-view-body{height:calc(100vh - 110px);overflow:auto;width:100%;background:#fff}.bulk-view-body .exel-view{display:block}.bulk-view-body .exel-view-row{display:flex;width:100%}.bulk-view-body .exel-view-row.head .exel-view-column{font-weight:500;font-size:14px;min-height:26px;background:#f1f1f1;padding:0;word-break:unset}.bulk-view-body .exel-view-row.multi-column .exel-view-column{width:140px;min-width:140px}.bulk-view-body .exel-view-row.multi-column .external-link{color:#1e5dd3;text-decoration:none}.bulk-view-body .exel-view-column{width:300px;min-width:300px;padding:0 10px;border-right:1px solid #dcdcdc;border-bottom:1px solid #dcdcdc;display:flex;align-items:center;justify-content:center;text-align:center;word-break:break-all;line-height:16px;font-size:12px;color:#161b2f;flex-wrap:wrap;position:relative}.bulk-view-body .exel-view-column i.icons{position:absolute;top:8px;right:10px;cursor:pointer;color:#d93b41}.bulk-view-body .exel-view-column i.icons.warning{color:#b7770d}.bulk-view-body .exel-view-column i.icons.info{color:#1a5276}.bulk-view-body .exel-view-column.large{width:100%;min-width:auto}.bulk-view-body .exel-view-column.error{border:1px solid #EB2424!important;background:#ffeeeb;padding-right:24px}.bulk-view-body .exel-view-column.error+.error{border-left:none!important}.bulk-view-body .exel-view-column.warning{border:1px solid #B7770D!important;background:#fef8e7;padding-right:24px}.bulk-view-body .exel-view-column.warning+.warning{border-left:none!important}.bulk-view-body .exel-view-column.info{border:1px solid #1A5276!important;background:#f4f8ff;padding-right:24px}.bulk-view-body .exel-view-column.info+.info{border-left:none!important}.bulk-view-body .exel-view-column span.required{color:#eb2424;display:contents}.bulk-view-body .exel-view-column .exel-view-row .exel-view-column{width:100%}.bulk-view-body .exel-view-column.sticky-col{position:sticky;z-index:2;background:#fff}.bulk-view-body .exel-view-column.sticky-col.warning{background:#fef8e7}.bulk-view-body .exel-view-column.sticky-col.info{background:#f4f8ff}.bulk-view-body .exel-view-column.sticky-col.error{background:#ffeeeb}.bulk-view-body .exel-view-column.sticky-col-index{left:0;z-index:3;background:#f1f1f1}.bulk-view-body .exel-view-column.sticky-col-index.error{background:#ffeeeb}.bulk-view-body .exel-view-column.sticky-col-index.warning{background:#fef8e7}.bulk-view-body .exel-view-column.sticky-col-index.info{background:#f4f8ff}.bulk-view-body .exel-view-column.sticky-col-name{left:60px}.bulk-view-body .exel-view-column.sl-no{background:#f1f1f1;width:60px;min-width:60px;min-height:30px;font-weight:400}.bulk-view-body .exel-view-column.sl-no.error{background:#ffeeeb;border:none;padding-right:10px;border-bottom:1px solid #dcdcdc}.bulk-view-body .exel-view-column.sl-no.warning{background:#fef8e7;border:none;padding-right:10px;border-bottom:1px solid #dcdcdc}.bulk-view-body .exel-view-column.sl-no.info{background:#f4f8ff;border:none;padding-right:10px;border-bottom:1px solid #dcdcdc}.bulk-view-body .exel-view-column.multi-column{padding:0;border:none}.bulk-view-body .exel-view-column.multi-column .exel-view-row{height:100%}.bulk-view-body .exel-view-column.multi-column .exel-view-column{width:50%;min-width:50%}.bulk-view-body .exel-view-column.multi-column .exel-view-column+.exel-view-column{border-left:none}.bulk-view-body.bulk{height:calc(100vh - 142px)}.bulk-view-body.bulk.is-horizontally-scrolled .sticky-col-name{overflow:visible}.bulk-view-body.bulk.is-horizontally-scrolled .sticky-col-name:after{content:\"\";position:absolute;top:-1px;bottom:-1px;right:0;width:8px;pointer-events:none;box-shadow:4px 0 8px #1e5dd326}.bulk-view-body.bulk .exel-view{display:flex;flex-direction:column;width:max-content;min-width:100%;min-height:100%}.bulk-view-body.bulk .exel-view-row{width:max-content;min-width:100%}.bulk-view-body.bulk .exel-view-row.head{position:sticky;top:0;z-index:4}.bulk-view-body.bulk .exel-view-row.head .exel-view-column{min-height:34px}.bulk-view-body.bulk .exel-view-row.head .exel-view-column.sticky-col{background:#f1f1f1;z-index:5}.bulk-view-body.bulk .exel-view-row.head .exel-view-column .info-text{font-size:10px;display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding:0 8px}.bulk-view-body.bulk .exel-view-row.two-column .exel-view-column{min-width:250px!important}.bulk-view-body.bulk .exel-view-row.three-column .exel-view-column,.bulk-view-body.bulk .exel-view-row.four-column .exel-view-column,.bulk-view-body.bulk .exel-view-row.five-column .exel-view-column,.bulk-view-body.bulk .exel-view-row.nine-column .exel-view-column{width:200px;min-width:200px!important}.bulk-view-body.bulk .exel-view-column .exel-view-row .exel-view-column.small-column{width:120px;min-width:120px!important}.bulk-view-body.bulk .exel-view-column.multi-column .exel-view-column{min-width:unset}.bulk-view-body.bulk .exel-view-column.two-column{width:500px;min-width:500px!important}.bulk-view-body.bulk .exel-view-column.three-column{width:600px;min-width:600px!important}.bulk-view-body.bulk .exel-view-column.four-column{width:800px;min-width:800px!important}.bulk-view-body.bulk .exel-view-column.five-column{width:1000px;min-width:1000px!important}.bulk-view-body.bulk .exel-view-column.nine-column{width:1800px;min-width:1800px!important}.bulk-view-body.bulk .exel-view .empty-fill-row{flex:1 1 auto;min-height:32px;align-items:stretch}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column{min-height:100%;background-color:#fff;background-image:repeating-linear-gradient(to bottom,#fff 0 31px,#dcdcdc 31px 32px);background-repeat:repeat-y;background-size:100% 32px}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column.multi-column{background-image:none;background-color:transparent}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column.sticky-col-index,.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-column.sl-no{background-color:#f1f1f1;background-image:repeating-linear-gradient(to bottom,#f1f1f1 0 31px,#dcdcdc 31px 32px)}.bulk-view-body.bulk .exel-view .empty-fill-row .exel-view-row{height:100%;align-items:stretch}.bulk-view-option{background:#fff;border-top:1px solid #f1f1f1;padding:0 20px;position:fixed;width:100%;bottom:50px;display:flex;align-items:center}.bulk-view-option button{background:transparent;border-radius:0;border:none;border-left:1px solid #f1f1f1;color:#747576;font-size:11px;font-weight:500;padding:0 .5rem;margin:0;height:2rem;position:relative}.bulk-view-option button:last-of-type{border-right:1px solid #f1f1f1}.bulk-view-option button.active{color:#1e5dd3}.bulk-view-option button.active:before{background:#fff;content:\"\";position:absolute;top:-1px;left:0;height:1px;width:100%}.bulk-view-footer{height:50px;box-shadow:0 0 15px #1e03d259;padding:10px 20px;position:fixed;width:100%;bottom:0;display:flex;align-items:center;justify-content:space-between;background:#fff}.bulk-view-footer .left p{color:#747576;font-size:13px;font-weight:500;margin:0}.bulk-view-footer .right button{font-size:12px;background:#fff;border:1px solid #dcdcdc;color:#747576;border-radius:2px;padding:8px 18px;cursor:pointer;text-transform:uppercase}.bulk-view-footer .right button+button{margin-left:4px}.bulk-view-footer .right button.blue{color:#fff;background:#1e5dd3}.bulk-view-footer .right button:disabled{background:#f1f1f1;border-color:#f1f1f1;pointer-events:none;cursor:not-allowed;color:#747576}\n"] }]
47096
47411
  }], propDecorators: { responsibilityBulkUpload: [{
47097
47412
  type: Input
47098
47413
  }], fileName: [{
@@ -47869,13 +48184,14 @@ class AddMultipleResponsibilityWithTabComponent {
47869
48184
  set uploadedFileData(data) {
47870
48185
  this.uploadedFile(data);
47871
48186
  }
47872
- constructor(riskService, responsibilityService, authService, frequencyService, snackBar, iframeService) {
48187
+ constructor(riskService, responsibilityService, authService, frequencyService, snackBar, iframeService, bulkUploadService) {
47873
48188
  this.riskService = riskService;
47874
48189
  this.responsibilityService = responsibilityService;
47875
48190
  this.authService = authService;
47876
48191
  this.frequencyService = frequencyService;
47877
48192
  this.snackBar = snackBar;
47878
48193
  this.iframeService = iframeService;
48194
+ this.bulkUploadService = bulkUploadService;
47879
48195
  this.pickerChanged = new EventEmitter();
47880
48196
  this.populateOption = new EventEmitter();
47881
48197
  this.closeWorkflow = new EventEmitter();
@@ -48042,6 +48358,15 @@ class AddMultipleResponsibilityWithTabComponent {
48042
48358
  const tData = XLSX.utils.sheet_to_json(tempData, { header: 1 });
48043
48359
  const tempList = tData.filter((dataElement) => dataElement.length > 0);
48044
48360
  this.setOrganizationDetails(tempList);
48361
+ const frequencyHeaders = this.bulkUploadService.getHeaderRows(ws);
48362
+ const ongoingHeaders = this.bulkUploadService.getHeaderRows(sheetReport2);
48363
+ const columnError = this.bulkUploadService.validateResponsibilityHeaders([
48364
+ { ...frequencyHeaders, sheet: 'frequency' },
48365
+ { ...ongoingHeaders, sheet: 'ongoing' },
48366
+ ]);
48367
+ if (this.blockUploadForColumnError(columnError)) {
48368
+ return;
48369
+ }
48045
48370
  wb.SheetNames.forEach((sheet) => {
48046
48371
  switch (sheet?.toLowerCase()) {
48047
48372
  case 'frequency responsibilities':
@@ -48061,6 +48386,23 @@ class AddMultipleResponsibilityWithTabComponent {
48061
48386
  console.error(e);
48062
48387
  }
48063
48388
  }
48389
+ blockUploadForColumnError(columnError) {
48390
+ if (columnError !== 'missing' && columnError !== 'extra') {
48391
+ return false;
48392
+ }
48393
+ this.errorMessage =
48394
+ columnError === 'extra'
48395
+ ? FILE_VALIDATION_MESSAGES.EXTRA_COLUMNS
48396
+ : FILE_VALIDATION_MESSAGES.HEADERS_MISSING;
48397
+ this.isWrongFormat = true;
48398
+ this.isWrongFile = false;
48399
+ this.isFileEmpty = false;
48400
+ this.showExcel = false;
48401
+ this.fileValue = '';
48402
+ this.snackBar.show(this.errorMessage, 'alert');
48403
+ this.closeAddMultipleResponsibility.emit();
48404
+ return true;
48405
+ }
48064
48406
  /**
48065
48407
  * It takes a worksheet and a sheet name, and then it sets the data for different tabs.
48066
48408
  * @param ws - XLSX.WorkSheet, sheet: string
@@ -48162,11 +48504,7 @@ class AddMultipleResponsibilityWithTabComponent {
48162
48504
  else if (this.bulkUpload?.frequency?.header[0] !== 'Responsibility Name*' &&
48163
48505
  this.bulkUpload?.ongoing?.header[0] !== 'Responsibility Name*' &&
48164
48506
  this.bulkUpload?.onCompletion?.header[0] !== 'Responsibility Name*') {
48165
- this.errorMessage =
48166
- 'The incorrect file has been uploaded. Please upload the template which you downloaded from here.' +
48167
- ' RETRY';
48168
- this.isWrongFile = false;
48169
- this.isWrongFormat = true;
48507
+ this.blockUploadForColumnError('missing');
48170
48508
  return;
48171
48509
  }
48172
48510
  else {
@@ -48910,7 +49248,6 @@ class AddMultipleResponsibilityWithTabComponent {
48910
49248
  !Object.values(obj['userValidateWithProgram']).includes(false) &&
48911
49249
  obj['isValidUser'] &&
48912
49250
  this.isValidRiskClass(obj?.reportClass) &&
48913
- obj['isValidDueTime'] &&
48914
49251
  obj['isValidEndsAfterOccurrences'] &&
48915
49252
  obj['isValidEndsByDate'];
48916
49253
  return this.withDropdownValidation(obj, tabType, isProgram, hasExtendedFrequencyColumns);
@@ -48965,7 +49302,6 @@ class AddMultipleResponsibilityWithTabComponent {
48965
49302
  obj?.frequency?.length &&
48966
49303
  obj['isValidUser'] &&
48967
49304
  this.isValidRiskClass(obj?.reportClass) &&
48968
- obj['isValidDueTime'] &&
48969
49305
  obj['isValidEndsAfterOccurrences'] &&
48970
49306
  obj['isValidEndsByDate'];
48971
49307
  return this.withDropdownValidation(obj, tabType, isProgram, hasExtendedFrequencyColumns);
@@ -49149,17 +49485,17 @@ class AddMultipleResponsibilityWithTabComponent {
49149
49485
  /**
49150
49486
  * Adds dropdown-list checks on top of existing row validation.
49151
49487
  * Empty optional cells are valid. Frequency / due date / due time are skipped for ongoing.
49488
+ * Warning and info issues are shown in preview but do not make the row invalid.
49152
49489
  */
49153
49490
  withDropdownValidation(obj, tabType, isProgram, hasExtendedFrequencyColumns = false) {
49154
49491
  if (!obj) {
49155
49492
  return obj;
49156
49493
  }
49494
+ obj['fieldValidation'] = {};
49157
49495
  this.applyDropdownValidation(obj, tabType, isProgram, hasExtendedFrequencyColumns);
49158
49496
  this.applyDaysCountValidation(obj, tabType);
49159
- obj['isValid'] =
49160
- !!obj['isValid'] &&
49161
- !!obj['isValidDropdown'] &&
49162
- !!obj['isValidDaysCount'];
49497
+ this.applySheetFieldMessages(obj, tabType, isProgram, hasExtendedFrequencyColumns);
49498
+ obj['isValid'] = !this.hasBlockingFieldIssues(obj);
49163
49499
  return obj;
49164
49500
  }
49165
49501
  applyDropdownValidation(obj, tabType, isProgram, hasExtendedFrequencyColumns = false) {
@@ -49190,11 +49526,27 @@ class AddMultipleResponsibilityWithTabComponent {
49190
49526
  collaborator: true,
49191
49527
  };
49192
49528
  if (isProgram) {
49193
- dropdownValidation.programType = this.isInStaticDropdown(obj?.programType, PROGRAM_TYPE_DROPDOWN_LIST);
49529
+ const hasProgram = this.hasValue(obj?.program);
49530
+ const hasProgramType = this.hasValue(obj?.programType);
49531
+ if (hasProgramType && !hasProgram) {
49532
+ dropdownValidation.programType = true;
49533
+ }
49534
+ else {
49535
+ dropdownValidation.programType = this.isInStaticDropdown(obj?.programType, PROGRAM_TYPE_DROPDOWN_LIST);
49536
+ }
49194
49537
  dropdownValidation.program = this.isInDropdownList(obj?.program, this.getTemplateListNames(this.templateInfo?.categoryList, 'programName'));
49195
- dropdownValidation.programCategory = programCategoryNames.length
49196
- ? this.isInDropdownList(obj?.programCategory, programCategoryNames)
49197
- : true;
49538
+ if (this.hasValue(obj?.programCategory) && !hasProgram) {
49539
+ dropdownValidation.programCategory = false;
49540
+ }
49541
+ else if (this.hasValue(obj?.programCategory) && hasProgram) {
49542
+ const categoryNames = this.getProgramCategoryNamesForProgram(obj?.program);
49543
+ dropdownValidation.programCategory = this.isInDropdownList(obj?.programCategory, categoryNames.length ? categoryNames : programCategoryNames);
49544
+ }
49545
+ else {
49546
+ dropdownValidation.programCategory = programCategoryNames.length
49547
+ ? this.isInDropdownList(obj?.programCategory, programCategoryNames)
49548
+ : true;
49549
+ }
49198
49550
  }
49199
49551
  dropdownValidation.assignor = this.isInUserDropdown(obj?.assignor);
49200
49552
  dropdownValidation.assignee = this.isInDropdownList(obj?.assignee, assigneeNames);
@@ -49205,16 +49557,27 @@ class AddMultipleResponsibilityWithTabComponent {
49205
49557
  dropdownValidation.day = this.isValidDropdownDay(obj?.day);
49206
49558
  dropdownValidation.month = this.isValidDropdownMonth(obj?.month);
49207
49559
  if (hasExtendedFrequencyColumns) {
49208
- dropdownValidation.dueTime = this.isValidDueTime(obj?.dueTime, true);
49560
+ dropdownValidation.dueTime = true;
49209
49561
  }
49210
49562
  }
49211
49563
  dropdownValidation.responsibilityCenter = this.isInDropdownList(obj?.responsibilityCenter, this.getTemplateListNames(this.templateInfo?.rcList, 'name'));
49212
- dropdownValidation.responsibilityCenterType = this.isInStaticDropdown(obj?.responsibilityCenterType, RC_TYPE_DROPDOWN_LIST);
49564
+ if (this.hasValue(obj?.responsibilityCenterType) &&
49565
+ !this.hasValue(obj?.responsibilityCenter)) {
49566
+ dropdownValidation.responsibilityCenterType = false;
49567
+ }
49568
+ else {
49569
+ dropdownValidation.responsibilityCenterType = this.isInStaticDropdown(obj?.responsibilityCenterType, RC_TYPE_DROPDOWN_LIST);
49570
+ }
49213
49571
  dropdownValidation.reportClass = this.isValidRiskClass(obj?.reportClass);
49214
49572
  dropdownValidation.isFormat = this.isInStaticDropdown(obj?.isFormat, YES_NO_DROPDOWN_LIST);
49215
49573
  dropdownValidation.documentEvidenceRequired = this.isInStaticDropdown(obj?.documentEvidenceRequired, YES_NO_DROPDOWN_LIST);
49216
49574
  dropdownValidation.reviewer = this.isInDropdownList(obj?.reviewer, reviewerNames);
49217
- dropdownValidation.reviewerType = this.isInStaticDropdown(obj?.reviewerType, REVIEWER_TYPE_DROPDOWN_LIST);
49575
+ if (this.hasValue(obj?.reviewerType) && !this.hasValue(obj?.reviewer)) {
49576
+ dropdownValidation.reviewerType = false;
49577
+ }
49578
+ else {
49579
+ dropdownValidation.reviewerType = this.isInStaticDropdown(obj?.reviewerType, REVIEWER_TYPE_DROPDOWN_LIST);
49580
+ }
49218
49581
  dropdownValidation.overseer = this.isInDropdownList(obj?.overseer, reviewerNames);
49219
49582
  dropdownValidation.notifyOnFailure = this.isInDropdownList(obj?.notifyOnFailure, reviewerNames);
49220
49583
  dropdownValidation.collaborator = this.isInDropdownList(obj?.collaborator, [
@@ -49222,7 +49585,7 @@ class AddMultipleResponsibilityWithTabComponent {
49222
49585
  ...reviewerNames,
49223
49586
  ]);
49224
49587
  obj['dropdownValidation'] = dropdownValidation;
49225
- obj['isValidDropdown'] = !Object.values(dropdownValidation).includes(false);
49588
+ obj['isValidDropdown'] = !Object.entries(dropdownValidation).some(([field, isValid]) => isValid === false && !NON_BLOCKING_DROPDOWN_FIELDS.includes(field));
49226
49589
  }
49227
49590
  getTemplateListNames(list = [], key) {
49228
49591
  return (list || [])
@@ -49241,6 +49604,244 @@ class AddMultipleResponsibilityWithTabComponent {
49241
49604
  });
49242
49605
  return names;
49243
49606
  }
49607
+ getProgramCategoryNamesForProgram(programName) {
49608
+ const names = [];
49609
+ const program = (this.templateInfo?.categoryList || []).find((item) => this.normalizeDropdownValue(item?.programName) ===
49610
+ this.normalizeDropdownValue(programName));
49611
+ (program?.childCategory || []).forEach((category) => {
49612
+ if (this.hasValue(category?.name)) {
49613
+ names.push(String(category.name).trim());
49614
+ }
49615
+ });
49616
+ return names;
49617
+ }
49618
+ setFieldIssue(obj, field, severity, message) {
49619
+ if (!obj || !field || !message) {
49620
+ return;
49621
+ }
49622
+ obj.fieldValidation = obj.fieldValidation || {};
49623
+ const rank = {
49624
+ [VALIDATION_SEVERITY.ERROR]: 3,
49625
+ [VALIDATION_SEVERITY.WARNING]: 2,
49626
+ [VALIDATION_SEVERITY.INFO]: 1,
49627
+ };
49628
+ const current = obj.fieldValidation[field];
49629
+ if (!current || (rank[severity] || 0) >= (rank[current.severity] || 0)) {
49630
+ obj.fieldValidation[field] = { severity, message };
49631
+ }
49632
+ }
49633
+ hasBlockingFieldIssues(obj) {
49634
+ return Object.values(obj?.fieldValidation || {}).some((issue) => issue?.severity === VALIDATION_SEVERITY.ERROR);
49635
+ }
49636
+ samePerson(left, right) {
49637
+ if (!this.hasValue(left) || !this.hasValue(right)) {
49638
+ return false;
49639
+ }
49640
+ if (this.normalizeDropdownValue(left) === this.normalizeDropdownValue(right)) {
49641
+ return true;
49642
+ }
49643
+ const leftEmail = this.extractDropdownEmail(left);
49644
+ const rightEmail = this.extractDropdownEmail(right);
49645
+ if (leftEmail && rightEmail && leftEmail === rightEmail) {
49646
+ return true;
49647
+ }
49648
+ const leftName = this.extractDropdownName(left);
49649
+ const rightName = this.extractDropdownName(right);
49650
+ return !!leftName && !!rightName && leftName === rightName;
49651
+ }
49652
+ isValidFormatUrl(value) {
49653
+ try {
49654
+ const url = new URL(String(value).trim());
49655
+ return url.protocol === 'http:' || url.protocol === 'https:';
49656
+ }
49657
+ catch {
49658
+ return false;
49659
+ }
49660
+ }
49661
+ applySheetFieldMessages(obj, tabType, isProgram, hasExtendedFrequencyColumns = false) {
49662
+ const dropdown = obj?.dropdownValidation || {};
49663
+ const name = this.checkValidResponsibilityName(obj?.responsibilityName);
49664
+ if (!name) {
49665
+ const raw = obj?.responsibilityName;
49666
+ const whitespaceOnly = raw != null && String(raw).length > 0 && !String(raw).trim();
49667
+ this.setFieldIssue(obj, 'responsibilityName', VALIDATION_SEVERITY.ERROR, whitespaceOnly
49668
+ ? VALIDATION_MESSAGES.RESPONSIBILITY_NAME_WHITESPACE
49669
+ : VALIDATION_MESSAGES.RESPONSIBILITY_NAME_REQUIRED);
49670
+ }
49671
+ if (isProgram) {
49672
+ const hasProgram = this.hasValue(obj?.program);
49673
+ const hasProgramType = this.hasValue(obj?.programType);
49674
+ const hasProgramCategory = this.hasValue(obj?.programCategory);
49675
+ if (hasProgramType && !hasProgram) {
49676
+ this.setFieldIssue(obj, 'programType', VALIDATION_SEVERITY.WARNING, VALIDATION_MESSAGES.PROGRAM_TYPE_WITHOUT_PROGRAM);
49677
+ }
49678
+ else if (dropdown.programType === false) {
49679
+ this.setFieldIssue(obj, 'programType', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49680
+ }
49681
+ if (dropdown.program === false) {
49682
+ this.setFieldIssue(obj, 'program', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49683
+ }
49684
+ if (hasProgramCategory && !hasProgram) {
49685
+ this.setFieldIssue(obj, 'programCategory', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.PROGRAM_CATEGORY_WITHOUT_PROGRAM);
49686
+ }
49687
+ else if (dropdown.programCategory === false) {
49688
+ this.setFieldIssue(obj, 'programCategory', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.PROGRAM_CATEGORY_MISMATCH);
49689
+ }
49690
+ }
49691
+ if (this.hasValue(obj?.assignor) && dropdown.assignor === false) {
49692
+ this.setFieldIssue(obj, 'assignor', VALIDATION_SEVERITY.WARNING, VALIDATION_MESSAGES.ENTRUSTED_BY_INVALID);
49693
+ }
49694
+ if (!this.hasValue(obj?.assignee)) {
49695
+ this.setFieldIssue(obj, 'assignee', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.ASSIGNEE_REQUIRED);
49696
+ }
49697
+ else if (dropdown.assignee === false || !obj?.isValidUser) {
49698
+ this.setFieldIssue(obj, 'assignee', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.ASSIGNEE_INVALID);
49699
+ }
49700
+ else if (obj?.userValidateWithProgram?.isValidAssignee === false) {
49701
+ this.setFieldIssue(obj, 'assignee', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.USER_NOT_IN_PROGRAM);
49702
+ }
49703
+ if (dropdown.assigneeType === false) {
49704
+ this.setFieldIssue(obj, 'assigneeType', VALIDATION_SEVERITY.WARNING, VALIDATION_MESSAGES.ASSIGNEE_TYPE_INVALID);
49705
+ }
49706
+ else if (this.isGroupSelected(obj?.assignee) &&
49707
+ !this.hasValue(obj?.assigneeType)) {
49708
+ this.setFieldIssue(obj, 'assigneeType', VALIDATION_SEVERITY.INFO, VALIDATION_MESSAGES.GROUP_ALL_ANY_BLANK);
49709
+ }
49710
+ if (dropdown.keyResponsibility === false) {
49711
+ this.setFieldIssue(obj, 'keyResponsibility', VALIDATION_SEVERITY.WARNING, VALIDATION_MESSAGES.KEY_RESPONSIBILITY_INVALID);
49712
+ }
49713
+ if (tabType === 'frequency') {
49714
+ if (!this.hasValue(obj?.frequency)) {
49715
+ this.setFieldIssue(obj, 'frequency', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.FREQUENCY_REQUIRED);
49716
+ }
49717
+ else if (dropdown.frequency === false) {
49718
+ this.setFieldIssue(obj, 'frequency', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49719
+ }
49720
+ this.applyDueDateDayMonthMessages(obj);
49721
+ if (hasExtendedFrequencyColumns) {
49722
+ if (!this.hasValue(obj?.dueTime)) {
49723
+ this.setFieldIssue(obj, 'dueTime', VALIDATION_SEVERITY.INFO, VALIDATION_MESSAGES.DUE_TIME_BLANK);
49724
+ }
49725
+ else if (!this.isValidDueTime(obj?.dueTime, true)) {
49726
+ this.setFieldIssue(obj, 'dueTime', VALIDATION_SEVERITY.WARNING, VALIDATION_MESSAGES.DROPDOWN);
49727
+ }
49728
+ }
49729
+ if (obj?.responsibilityWindowError) {
49730
+ this.setFieldIssue(obj, 'responsibilityWindow', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49731
+ }
49732
+ if (obj?.failedAfterError) {
49733
+ this.setFieldIssue(obj, 'failedAfter', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49734
+ }
49735
+ if (obj?.endsAfterOccurrencesError) {
49736
+ this.setFieldIssue(obj, 'endsAfterOccurrences', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49737
+ }
49738
+ if (obj?.endsByDateDayError) {
49739
+ this.setFieldIssue(obj, 'endsByDateDay', VALIDATION_SEVERITY.ERROR, obj.endsByDateDayError);
49740
+ }
49741
+ if (obj?.endsByDateMonthError) {
49742
+ this.setFieldIssue(obj, 'endsByDateMonth', VALIDATION_SEVERITY.ERROR, obj.endsByDateMonthError);
49743
+ }
49744
+ const isOneTime = this.normalizeDropdownValue(obj?.frequency) === 'one time';
49745
+ const hasLifecycleEnd = this.hasValue(obj?.endsAfterOccurrences) ||
49746
+ this.hasValue(obj?.endsByDateDay) ||
49747
+ this.hasValue(obj?.endsByDateMonth);
49748
+ if (isOneTime && hasLifecycleEnd) {
49749
+ const message = VALIDATION_MESSAGES.ONE_TIME_LIFECYCLE;
49750
+ this.setFieldIssue(obj, 'endsAfterOccurrences', VALIDATION_SEVERITY.ERROR, message);
49751
+ this.setFieldIssue(obj, 'endsByDateDay', VALIDATION_SEVERITY.ERROR, message);
49752
+ this.setFieldIssue(obj, 'endsByDateMonth', VALIDATION_SEVERITY.ERROR, message);
49753
+ }
49754
+ else if (hasExtendedFrequencyColumns &&
49755
+ Number(obj?.endsAfterOccurrences) === 1 &&
49756
+ !isOneTime) {
49757
+ this.setFieldIssue(obj, 'endsAfterOccurrences', VALIDATION_SEVERITY.WARNING, VALIDATION_MESSAGES.ENDS_AFTER_ONE_OCCURRENCE);
49758
+ }
49759
+ }
49760
+ if (dropdown.responsibilityCenter === false) {
49761
+ this.setFieldIssue(obj, 'responsibilityCenter', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49762
+ }
49763
+ if (this.hasValue(obj?.responsibilityCenterType) &&
49764
+ !this.hasValue(obj?.responsibilityCenter)) {
49765
+ this.setFieldIssue(obj, 'responsibilityCenterType', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.RC_TYPE_WITHOUT_NAME);
49766
+ }
49767
+ else if (dropdown.responsibilityCenterType === false) {
49768
+ this.setFieldIssue(obj, 'responsibilityCenterType', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49769
+ }
49770
+ if (dropdown.reportClass === false) {
49771
+ this.setFieldIssue(obj, 'reportClass', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49772
+ }
49773
+ if (dropdown.isFormat === false) {
49774
+ this.setFieldIssue(obj, 'isFormat', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49775
+ }
49776
+ if (this.hasValue(obj?.formatForResponsibility)) {
49777
+ if (this.normalizeDropdownValue(obj?.isFormat) === 'no') {
49778
+ this.setFieldIssue(obj, 'formatForResponsibility', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.FORMAT_LINK_WITHOUT_YES);
49779
+ }
49780
+ else if (!this.isValidFormatUrl(obj?.formatForResponsibility)) {
49781
+ this.setFieldIssue(obj, 'formatForResponsibility', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.FORMAT_INVALID_URL);
49782
+ }
49783
+ }
49784
+ if (dropdown.documentEvidenceRequired === false) {
49785
+ this.setFieldIssue(obj, 'documentEvidenceRequired', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49786
+ }
49787
+ if (dropdown.reviewer === false) {
49788
+ this.setFieldIssue(obj, 'reviewer', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49789
+ }
49790
+ else if (this.hasValue(obj?.reviewer) &&
49791
+ obj?.userValidateWithProgram?.isValidReviewer === false) {
49792
+ this.setFieldIssue(obj, 'reviewer', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.USER_NOT_IN_PROGRAM);
49793
+ }
49794
+ if (this.hasValue(obj?.reviewerType) && !this.hasValue(obj?.reviewer)) {
49795
+ this.setFieldIssue(obj, 'reviewerType', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49796
+ }
49797
+ else if (dropdown.reviewerType === false) {
49798
+ this.setFieldIssue(obj, 'reviewerType', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49799
+ }
49800
+ if (obj?.reviewToBeCompletedWithinError) {
49801
+ this.setFieldIssue(obj, 'reviewToBeCompletedWithin', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49802
+ }
49803
+ if (obj?.reviewWillBeFailedAfterError) {
49804
+ this.setFieldIssue(obj, 'reviewWillBeFailedAfter', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49805
+ }
49806
+ if ((this.hasValue(obj?.reviewToBeCompletedWithin) ||
49807
+ this.hasValue(obj?.reviewWillBeFailedAfter)) &&
49808
+ !this.hasValue(obj?.reviewer)) {
49809
+ this.setFieldIssue(obj, 'reviewToBeCompletedWithin', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.REVIEW_WINDOW_WITHOUT_REVIEWER);
49810
+ this.setFieldIssue(obj, 'reviewWillBeFailedAfter', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.REVIEW_WINDOW_WITHOUT_REVIEWER);
49811
+ }
49812
+ if (dropdown.overseer === false) {
49813
+ this.setFieldIssue(obj, 'overseer', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49814
+ }
49815
+ else if (this.hasValue(obj?.overseer) &&
49816
+ obj?.userValidateWithProgram?.isValidOverseer === false) {
49817
+ this.setFieldIssue(obj, 'overseer', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.USER_NOT_IN_PROGRAM);
49818
+ }
49819
+ else if (this.samePerson(obj?.overseer, obj?.assignee)) {
49820
+ this.setFieldIssue(obj, 'overseer', VALIDATION_SEVERITY.INFO, VALIDATION_MESSAGES.OVERSIGHT_DUPLICATE_ASSIGNEE);
49821
+ }
49822
+ else if (this.samePerson(obj?.overseer, obj?.assignor)) {
49823
+ this.setFieldIssue(obj, 'overseer', VALIDATION_SEVERITY.INFO, VALIDATION_MESSAGES.OVERSIGHT_DUPLICATE_ASSIGNOR);
49824
+ }
49825
+ if (dropdown.notifyOnFailure === false) {
49826
+ this.setFieldIssue(obj, 'notifyOnFailure', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49827
+ }
49828
+ else if (this.hasValue(obj?.notifyOnFailure) &&
49829
+ obj?.userValidateWithProgram?.isValidNotifyOnFailure === false) {
49830
+ this.setFieldIssue(obj, 'notifyOnFailure', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.USER_NOT_IN_PROGRAM);
49831
+ }
49832
+ else if (this.samePerson(obj?.notifyOnFailure, obj?.assignee)) {
49833
+ this.setFieldIssue(obj, 'notifyOnFailure', VALIDATION_SEVERITY.INFO, VALIDATION_MESSAGES.OVERSIGHT_DUPLICATE_ASSIGNEE);
49834
+ }
49835
+ else if (this.samePerson(obj?.notifyOnFailure, obj?.assignor)) {
49836
+ this.setFieldIssue(obj, 'notifyOnFailure', VALIDATION_SEVERITY.INFO, VALIDATION_MESSAGES.OVERSIGHT_DUPLICATE_ASSIGNOR);
49837
+ }
49838
+ if (dropdown.collaborator === false) {
49839
+ this.setFieldIssue(obj, 'collaborator', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DROPDOWN);
49840
+ }
49841
+ else if (this.isGroupSelected(obj?.collaborator)) {
49842
+ this.setFieldIssue(obj, 'collaborator', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.COLLABORATOR_GROUP);
49843
+ }
49844
+ }
49244
49845
  /**
49245
49846
  * Entrusted By in the xlsx dropdown is the people list in `Name (email)` form
49246
49847
  * (same source as Entrusted To / Reviewer), not the assignor name-only column.
@@ -49334,7 +49935,59 @@ class AddMultipleResponsibilityWithTabComponent {
49334
49935
  if (!this.hasValue(value)) {
49335
49936
  return true;
49336
49937
  }
49337
- return REGEX.ENDS_BY_DATE_MONTH.test(String(value).trim());
49938
+ return this.isValidDueDateMonth(value);
49939
+ }
49940
+ isValidDueDateMonth(value) {
49941
+ const text = String(value ?? '').trim();
49942
+ if (!text) {
49943
+ return true;
49944
+ }
49945
+ const hasYearSuffix = REGEX.MONTH.test(text) || REGEX.ENDS_BY_DATE_MONTH.test(text);
49946
+ if (!hasYearSuffix) {
49947
+ return false;
49948
+ }
49949
+ return SHORT_MONTH_NAMES.includes(text.substring(0, 3).toLowerCase());
49950
+ }
49951
+ getDueDateDayMax(frequency) {
49952
+ return WEEKDAY_FREQUENCIES.includes(this.normalizeDropdownValue(frequency))
49953
+ ? 7
49954
+ : 31;
49955
+ }
49956
+ /**
49957
+ * G2 / G3: DD-01, DD-02, DD-03, DM-01, DM-02.
49958
+ * Blank day and month together stay valid. Warning/info are not used here.
49959
+ */
49960
+ applyDueDateDayMonthMessages(obj) {
49961
+ const hasDay = this.hasValue(obj?.day);
49962
+ const hasMonth = this.hasValue(obj?.month);
49963
+ const frequencyLabel = this.hasValue(obj?.frequency)
49964
+ ? String(obj.frequency).trim()
49965
+ : 'Weekly';
49966
+ const dayText = hasDay ? String(obj.day).trim() : '';
49967
+ const isDayNumeric = /^\d+$/.test(dayText);
49968
+ const dayNumber = isDayNumeric ? Number(dayText) : NaN;
49969
+ const maxDay = this.getDueDateDayMax(obj?.frequency);
49970
+ if (hasDay && !isDayNumeric) {
49971
+ this.setFieldIssue(obj, 'day', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DUE_DATE_DAY_NOT_NUMBER);
49972
+ }
49973
+ else if (hasDay && (dayNumber < 1 || dayNumber > maxDay)) {
49974
+ this.setFieldIssue(obj, 'day', VALIDATION_SEVERITY.ERROR, dueDateDayOutOfRangeMessage(frequencyLabel));
49975
+ }
49976
+ if (hasMonth && !this.isValidDueDateMonth(obj?.month)) {
49977
+ this.setFieldIssue(obj, 'month', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DUE_DATE_MONTH_INVALID);
49978
+ }
49979
+ if (!hasDay && hasMonth) {
49980
+ this.setFieldIssue(obj, 'day', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DUE_DATE_REQUIRED);
49981
+ }
49982
+ if (hasDay && !hasMonth) {
49983
+ this.setFieldIssue(obj, 'month', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.DUE_DATE_REQUIRED);
49984
+ }
49985
+ const dayHasError = obj?.fieldValidation?.day?.severity === VALIDATION_SEVERITY.ERROR;
49986
+ const monthHasError = obj?.fieldValidation?.month?.severity === VALIDATION_SEVERITY.ERROR;
49987
+ if (hasDay && hasMonth && !dayHasError && !monthHasError && obj?.isPastDate) {
49988
+ this.setFieldIssue(obj, 'day', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.PAST_DUE_DATE);
49989
+ this.setFieldIssue(obj, 'month', VALIDATION_SEVERITY.ERROR, VALIDATION_MESSAGES.PAST_DUE_DATE);
49990
+ }
49338
49991
  }
49339
49992
  isValidDueTime(dueTime, hasExtendedFrequencyColumns = false) {
49340
49993
  if (!hasExtendedFrequencyColumns) {
@@ -49707,7 +50360,7 @@ class AddMultipleResponsibilityWithTabComponent {
49707
50360
  */
49708
50361
  isGroupSelected(item) {
49709
50362
  let isGroup = false;
49710
- this.templateInfo.assigneesList.forEach((enElement) => {
50363
+ (this.templateInfo?.assigneesList || []).forEach((enElement) => {
49711
50364
  if (enElement.nameAndEmail == item &&
49712
50365
  (item?.includes('Users)') || item?.includes('User)')) &&
49713
50366
  typeof enElement?.my_member_id == 'object') {
@@ -49716,13 +50369,13 @@ class AddMultipleResponsibilityWithTabComponent {
49716
50369
  });
49717
50370
  return isGroup;
49718
50371
  }
49719
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddMultipleResponsibilityWithTabComponent, deps: [{ token: AddRiskService }, { token: ResponsibilityService }, { token: AuthService$1 }, { token: FrequencyBulkService }, { token: SnackBarService }, { token: IframeService }], target: i0.ɵɵFactoryTarget.Component }); }
50372
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddMultipleResponsibilityWithTabComponent, deps: [{ token: AddRiskService }, { token: ResponsibilityService }, { token: AuthService$1 }, { token: FrequencyBulkService }, { token: SnackBarService }, { token: IframeService }, { token: BulkUploadService }], target: i0.ɵɵFactoryTarget.Component }); }
49720
50373
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddMultipleResponsibilityWithTabComponent, selector: "lib-add-multiple-responsibility-with-tab", inputs: { uploadedFileData: ["uploadedFile", "uploadedFileData"], orgDetails: "orgDetails", feature: "feature", featureflag: "featureflag" }, outputs: { pickerChanged: "pickerChanged", populateOption: "populateOption", closeWorkflow: "closeWorkflow", disconnectRefresh: "disconnectRefresh", closeAddMultipleResponsibility: "closeAddMultipleResponsibility" }, usesOnChanges: true, ngImport: i0, template: "<!-- <div class=\"add-multiple-risk\" [attr.id]=\"'scrollReference'\" >\r\n <!- - main container starts here - ->\r\n <div class=\"add-multiple-risk-body\">\r\n <div class=\"add-multiple-risk-container\">\r\n <div class=\"image\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/spreadsheet-multiple-category.svg\" alt=\"\" />\r\n </div>\r\n <h4>You can entrust multiple responsibilities in just two easy steps:</h4>\r\n <ul class=\"list\">\r\n <li>Download the template and fill in the details.</li>\r\n <li>Upload the .xlsx file and you\u2019re good to go!</li>\r\n </ul>\r\n\r\n <button class=\"download\" *ngIf=\"downloadStatus === 'NOT_DOWNLOADING'\"\r\n (click)=\"downloadTemplate()\" type=\"button\"><i class=\"icons\">&#xe91b;</i> Download Template</button>\r\n <div class=\"bulk-btn-progress\" *ngIf=\"downloadStatus === 'DOWNLOADING'\">\r\n Download in Progress\r\n <app-line-loader [loaderHeight]=\"'2'\"></app-line-loader>\r\n </div>\r\n <ng-container *ngIf=\"downloadStatus === 'DOWNLOADED'\">\r\n <div class=\"bulk-btn-progress\"><i class=\"icons\">&#xe91c;</i>Download Complete</div>\r\n <div class=\"bulk-btn-again\">\r\n Is the file not downloaded?\r\n <button (click)=\"downloadTemplate()\">Retry Download</button>\r\n </div>\r\n </ng-container>\r\n <p class=\"error-message\" *ngIf=\"isWrongFile || isWrongFormat|| isFileEmpty\"\r\n >{{errorMessage}}</p> \r\n </div>\r\n </div>\r\n</div> -->\r\n<app-bulk-responsibility-view *ngIf=\"showExcel\"\r\n [responsibilityBulkUpload]=\"responsibilityBulkUpload\"\r\n [bulkUpload]=\"bulkUpload\"\r\n [fileName]=\"fileName\"\r\n [loader]=\"loader\"\r\n [defaultOwner]=\"defaultOwner\"\r\n [tabType]=\"tabType\"\r\n [bulkUpload]=\"bulkUpload\"\r\n (submitResponsibilityBulkUpload)=\"submitResponsibilityBulkUpload()\"\r\n (selectedTab)=\"selectedTab($event)\"\r\n (cancel)=\"reset()\"\r\n [responsibilityType]=\"'multiTab'\">\r\n</app-bulk-responsibility-view>\r\n<app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n<input type=\"file\" [(ngModel)]=\"fileValue\" id=\"fileInput\" class=\"hidden-input\" accept=\".xlsx\" (change)=\"uploadedFile($event)\" multiple />\r\n<app-smiley-dialog-inline *ngIf=\"showSmiley\" [message]=\"smileyMessage\" [actionButtons]=\"actionButtons\" (action)=\"action($event)\" (closeSmiley)=\"closeSmiley($event)\"></app-smiley-dialog-inline>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .add-multiple-risk{background:#fff;position:relative;z-index:1}@media only screen and (min-width: 1920px){::ng-deep .add-multiple-risk{height:calc(100vh - 200px);display:flex;align-items:center}}::ng-deep .add-multiple-risk-body{padding:0;display:block}::ng-deep .add-multiple-risk-container{display:block;text-align:center}::ng-deep .add-multiple-risk-container .image{width:300px;margin:0 auto 24px}::ng-deep .add-multiple-risk-container h4{font-size:20px;line-height:30px;margin:0 0 20px;font-weight:500}::ng-deep .add-multiple-risk-container ul.list{padding:0;margin:0 0 40px;display:block;counter-reset:my-awesome-counter}::ng-deep .add-multiple-risk-container ul.list li{text-align:left;color:#747576;font-size:15px;line-height:38px;font-weight:400;list-style:none;counter-increment:my-awesome-counter;background:#fbfbfb;border:1px solid #F1F1F1;border-radius:4px;padding:0 12px}::ng-deep .add-multiple-risk-container ul.list li:before{content:counter(my-awesome-counter) \". \"}::ng-deep .add-multiple-risk-container ul.list li+li{margin-top:4px}::ng-deep .add-multiple-risk-container button.download{background:#fff;height:36px;border-radius:2px;cursor:pointer;border:1px solid #1e5dd3;color:#1e5dd3;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px}::ng-deep .add-multiple-risk-container .bulk-btn-progress{background:#f8f8f8;height:36px;border-radius:2px;cursor:pointer;border:1px solid #f8f8f8;color:#747576;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px;position:relative;display:inline-block;line-height:34px}::ng-deep .add-multiple-risk-container .bulk-btn-progress i{color:#34aa44;font-size:14px;float:left;position:relative;margin:0 10px 0 0;font-weight:400}::ng-deep .add-multiple-risk-container .bulk-btn-progress span.progress{height:3px;position:absolute;bottom:0;left:0;width:100%;background:#1e5dd3}::ng-deep .add-multiple-risk-container .bulk-btn-again{color:#161b2f;font-size:11px;margin-top:10px}::ng-deep .add-multiple-risk-container .bulk-btn-again button{background:transparent;border:none;padding:0;font-size:11px;color:#1e5dd3;font-weight:500;text-decoration:underline;cursor:pointer;text-transform:uppercase;display:inline-block}.hidden-input{opacity:0}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxEnable.withBtn:after{display:none}::ng-deep .selectBoxEnable.withBtn button.setBtn{background:transparent;border-radius:0;border:none;min-width:98px}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer .chipName.no-width{max-width:unset}::ng-deep .chipContainer .chipName.full-width{max-width:25rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34aa44}::ng-deep .chipContainer button.countBtn.blueBg{background:#1e5dd3}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;margin:0;padding:0;inset:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:8px 0!important;text-align:center}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%;text-align:center}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:13px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:14px;font-weight:500;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group input[type=text],::ng-deep .vx-form-group .input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group input[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:100px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer;position:relative;top:1px;font-size:8px}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd345;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group ::ng-deep vcomply-editor{margin-top:8px;display:block;pointer-events:auto!important;z-index:1}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0;background:#fff}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:transparent;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item .info.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:212px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;inset:2px 0 0 2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group input,.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;inset:0}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:#0000004d}::ng-deep .cdk-overlay-container{z-index:2147483002!important}::ng-deep .dp-popup{z-index:999;display:flex!important;align-items:center;justify-content:center;width:100vw;height:100vh;background:#0000004d!important;box-shadow:unset!important}::ng-deep .dp-popup dp-day-calendar{width:412px!important;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep .dp-popup dp-day-calendar,::ng-deep .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep .dp-popup dp-day-calendar button,::ng-deep .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep .dp-popup dp-day-calendar .dp-weekdays,::ng-deep .dp-popup dp-month-calendar .dp-weekdays,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576 0% 1%,#747576 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39 0% 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0% 1%,#34aa44 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3 0% 1%,#1e5dd3 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0% 1%,#f6882f 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0% 1%,#7aa6f7 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:#0000000d!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:92px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}::ng-deep vcomply-editor{display:block}::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep vcomply-editor .editor-container:hover,::ng-deep vcomply-editor .editor-container:focus-within{border:1px solid #1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep vcomply-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep vcomply-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep vcomply-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep vcomply-editor .editor-container .editor-tools{border-top:1px solid #dbdbdb;border-radius:0 0 3px 3px}::ng-deep vcomply-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}.wf-tooltip{pointer-events:none;position:absolute;max-width:300px;font-size:12px;text-align:left;color:#fff;padding:8px 12px;background:#000;border-radius:2px;z-index:-222;top:0;opacity:0;white-space:break-spaces;word-break:break-word}.wf-tooltip *{color:#fff!important}.wf-tooltip:empty{display:none!important}.wf-tooltip.white{box-shadow:0 2px 8px #1c5bd159;color:#747576;background:#fff;text-align:left}.wf-tooltip.white b{color:#747576!important}.wf-tooltip.animate-top{animation:animate-top .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-right{animation:animate-right .3s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-bottom{animation:animate-bottom .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-left{animation:animate-left .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-left.white:after{border-color:transparent transparent transparent #f1f1f1}.wf-tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #000000}.wf-tooltip-right.white:after{border-color:transparent #f1f1f1 transparent transparent}.wf-tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent #000000 transparent transparent}.wf-tooltip-bottom-right:after{bottom:100%;left:100%;margin-left:-20px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-right.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-bottom-left:after{bottom:100%;left:0;margin-left:10px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-left.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-top-left:after{top:100%;left:0;margin-left:10px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-left.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-top-right:after{top:100%;left:100%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-right.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip:after{content:\"\";position:absolute;border-style:solid}.wf-tooltip span.within{font-size:80%;display:block;width:100%}.wf-tooltip .small{display:block;font-size:10px}.wf-tooltip .within-box{background:#f1f1f1;border-radius:2px;color:#042e7d!important;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 2px;margin-right:2px}.wf-tooltip-show{pointer-events:none;opacity:1;z-index:2147483001}\n"], dependencies: [{ kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: SmileyDialogInlineComponent, selector: "app-smiley-dialog-inline", inputs: ["message", "actionButtons"], outputs: ["action", "closeSmiley"] }, { kind: "component", type: BulkResponsibilityViewComponent, selector: "app-bulk-responsibility-view", inputs: ["responsibilityBulkUpload", "fileName", "defaultOwner", "loader", "tabType", "bulkUpload", "responsibilityType"], outputs: ["submitResponsibilityBulkUpload", "cancel", "selectedTab"] }] }); }
49721
50374
  }
49722
50375
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddMultipleResponsibilityWithTabComponent, decorators: [{
49723
50376
  type: Component,
49724
50377
  args: [{ selector: 'lib-add-multiple-responsibility-with-tab', template: "<!-- <div class=\"add-multiple-risk\" [attr.id]=\"'scrollReference'\" >\r\n <!- - main container starts here - ->\r\n <div class=\"add-multiple-risk-body\">\r\n <div class=\"add-multiple-risk-container\">\r\n <div class=\"image\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/spreadsheet-multiple-category.svg\" alt=\"\" />\r\n </div>\r\n <h4>You can entrust multiple responsibilities in just two easy steps:</h4>\r\n <ul class=\"list\">\r\n <li>Download the template and fill in the details.</li>\r\n <li>Upload the .xlsx file and you\u2019re good to go!</li>\r\n </ul>\r\n\r\n <button class=\"download\" *ngIf=\"downloadStatus === 'NOT_DOWNLOADING'\"\r\n (click)=\"downloadTemplate()\" type=\"button\"><i class=\"icons\">&#xe91b;</i> Download Template</button>\r\n <div class=\"bulk-btn-progress\" *ngIf=\"downloadStatus === 'DOWNLOADING'\">\r\n Download in Progress\r\n <app-line-loader [loaderHeight]=\"'2'\"></app-line-loader>\r\n </div>\r\n <ng-container *ngIf=\"downloadStatus === 'DOWNLOADED'\">\r\n <div class=\"bulk-btn-progress\"><i class=\"icons\">&#xe91c;</i>Download Complete</div>\r\n <div class=\"bulk-btn-again\">\r\n Is the file not downloaded?\r\n <button (click)=\"downloadTemplate()\">Retry Download</button>\r\n </div>\r\n </ng-container>\r\n <p class=\"error-message\" *ngIf=\"isWrongFile || isWrongFormat|| isFileEmpty\"\r\n >{{errorMessage}}</p> \r\n </div>\r\n </div>\r\n</div> -->\r\n<app-bulk-responsibility-view *ngIf=\"showExcel\"\r\n [responsibilityBulkUpload]=\"responsibilityBulkUpload\"\r\n [bulkUpload]=\"bulkUpload\"\r\n [fileName]=\"fileName\"\r\n [loader]=\"loader\"\r\n [defaultOwner]=\"defaultOwner\"\r\n [tabType]=\"tabType\"\r\n [bulkUpload]=\"bulkUpload\"\r\n (submitResponsibilityBulkUpload)=\"submitResponsibilityBulkUpload()\"\r\n (selectedTab)=\"selectedTab($event)\"\r\n (cancel)=\"reset()\"\r\n [responsibilityType]=\"'multiTab'\">\r\n</app-bulk-responsibility-view>\r\n<app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n<input type=\"file\" [(ngModel)]=\"fileValue\" id=\"fileInput\" class=\"hidden-input\" accept=\".xlsx\" (change)=\"uploadedFile($event)\" multiple />\r\n<app-smiley-dialog-inline *ngIf=\"showSmiley\" [message]=\"smileyMessage\" [actionButtons]=\"actionButtons\" (action)=\"action($event)\" (closeSmiley)=\"closeSmiley($event)\"></app-smiley-dialog-inline>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .add-multiple-risk{background:#fff;position:relative;z-index:1}@media only screen and (min-width: 1920px){::ng-deep .add-multiple-risk{height:calc(100vh - 200px);display:flex;align-items:center}}::ng-deep .add-multiple-risk-body{padding:0;display:block}::ng-deep .add-multiple-risk-container{display:block;text-align:center}::ng-deep .add-multiple-risk-container .image{width:300px;margin:0 auto 24px}::ng-deep .add-multiple-risk-container h4{font-size:20px;line-height:30px;margin:0 0 20px;font-weight:500}::ng-deep .add-multiple-risk-container ul.list{padding:0;margin:0 0 40px;display:block;counter-reset:my-awesome-counter}::ng-deep .add-multiple-risk-container ul.list li{text-align:left;color:#747576;font-size:15px;line-height:38px;font-weight:400;list-style:none;counter-increment:my-awesome-counter;background:#fbfbfb;border:1px solid #F1F1F1;border-radius:4px;padding:0 12px}::ng-deep .add-multiple-risk-container ul.list li:before{content:counter(my-awesome-counter) \". \"}::ng-deep .add-multiple-risk-container ul.list li+li{margin-top:4px}::ng-deep .add-multiple-risk-container button.download{background:#fff;height:36px;border-radius:2px;cursor:pointer;border:1px solid #1e5dd3;color:#1e5dd3;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px}::ng-deep .add-multiple-risk-container .bulk-btn-progress{background:#f8f8f8;height:36px;border-radius:2px;cursor:pointer;border:1px solid #f8f8f8;color:#747576;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px;position:relative;display:inline-block;line-height:34px}::ng-deep .add-multiple-risk-container .bulk-btn-progress i{color:#34aa44;font-size:14px;float:left;position:relative;margin:0 10px 0 0;font-weight:400}::ng-deep .add-multiple-risk-container .bulk-btn-progress span.progress{height:3px;position:absolute;bottom:0;left:0;width:100%;background:#1e5dd3}::ng-deep .add-multiple-risk-container .bulk-btn-again{color:#161b2f;font-size:11px;margin-top:10px}::ng-deep .add-multiple-risk-container .bulk-btn-again button{background:transparent;border:none;padding:0;font-size:11px;color:#1e5dd3;font-weight:500;text-decoration:underline;cursor:pointer;text-transform:uppercase;display:inline-block}.hidden-input{opacity:0}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxEnable.withBtn:after{display:none}::ng-deep .selectBoxEnable.withBtn button.setBtn{background:transparent;border-radius:0;border:none;min-width:98px}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer .chipName.no-width{max-width:unset}::ng-deep .chipContainer .chipName.full-width{max-width:25rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34aa44}::ng-deep .chipContainer button.countBtn.blueBg{background:#1e5dd3}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;margin:0;padding:0;inset:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:8px 0!important;text-align:center}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%;text-align:center}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:13px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:14px;font-weight:500;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group input[type=text],::ng-deep .vx-form-group .input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group input[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:100px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer;position:relative;top:1px;font-size:8px}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd345;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group ::ng-deep vcomply-editor{margin-top:8px;display:block;pointer-events:auto!important;z-index:1}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0;background:#fff}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:transparent;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item .info.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:212px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;inset:2px 0 0 2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group input,.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;inset:0}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:#0000004d}::ng-deep .cdk-overlay-container{z-index:2147483002!important}::ng-deep .dp-popup{z-index:999;display:flex!important;align-items:center;justify-content:center;width:100vw;height:100vh;background:#0000004d!important;box-shadow:unset!important}::ng-deep .dp-popup dp-day-calendar{width:412px!important;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep .dp-popup dp-day-calendar,::ng-deep .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep .dp-popup dp-day-calendar button,::ng-deep .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep .dp-popup dp-day-calendar .dp-weekdays,::ng-deep .dp-popup dp-month-calendar .dp-weekdays,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576 0% 1%,#747576 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39 0% 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0% 1%,#34aa44 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3 0% 1%,#1e5dd3 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0% 1%,#f6882f 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0% 1%,#7aa6f7 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:#0000000d!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:92px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}::ng-deep vcomply-editor{display:block}::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep vcomply-editor .editor-container:hover,::ng-deep vcomply-editor .editor-container:focus-within{border:1px solid #1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep vcomply-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep vcomply-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep vcomply-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep vcomply-editor .editor-container .editor-tools{border-top:1px solid #dbdbdb;border-radius:0 0 3px 3px}::ng-deep vcomply-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}.wf-tooltip{pointer-events:none;position:absolute;max-width:300px;font-size:12px;text-align:left;color:#fff;padding:8px 12px;background:#000;border-radius:2px;z-index:-222;top:0;opacity:0;white-space:break-spaces;word-break:break-word}.wf-tooltip *{color:#fff!important}.wf-tooltip:empty{display:none!important}.wf-tooltip.white{box-shadow:0 2px 8px #1c5bd159;color:#747576;background:#fff;text-align:left}.wf-tooltip.white b{color:#747576!important}.wf-tooltip.animate-top{animation:animate-top .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-right{animation:animate-right .3s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-bottom{animation:animate-bottom .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-left{animation:animate-left .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-left.white:after{border-color:transparent transparent transparent #f1f1f1}.wf-tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #000000}.wf-tooltip-right.white:after{border-color:transparent #f1f1f1 transparent transparent}.wf-tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent #000000 transparent transparent}.wf-tooltip-bottom-right:after{bottom:100%;left:100%;margin-left:-20px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-right.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-bottom-left:after{bottom:100%;left:0;margin-left:10px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-left.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-top-left:after{top:100%;left:0;margin-left:10px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-left.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-top-right:after{top:100%;left:100%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-right.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip:after{content:\"\";position:absolute;border-style:solid}.wf-tooltip span.within{font-size:80%;display:block;width:100%}.wf-tooltip .small{display:block;font-size:10px}.wf-tooltip .within-box{background:#f1f1f1;border-radius:2px;color:#042e7d!important;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 2px;margin-right:2px}.wf-tooltip-show{pointer-events:none;opacity:1;z-index:2147483001}\n"] }]
49725
- }], ctorParameters: function () { return [{ type: AddRiskService }, { type: ResponsibilityService }, { type: AuthService$1 }, { type: FrequencyBulkService }, { type: SnackBarService }, { type: IframeService }]; }, propDecorators: { pickerChanged: [{
50378
+ }], ctorParameters: function () { return [{ type: AddRiskService }, { type: ResponsibilityService }, { type: AuthService$1 }, { type: FrequencyBulkService }, { type: SnackBarService }, { type: IframeService }, { type: BulkUploadService }]; }, propDecorators: { pickerChanged: [{
49726
50379
  type: Output
49727
50380
  }], populateOption: [{
49728
50381
  type: Output
@@ -49852,6 +50505,24 @@ class AddMultipleResponsibilityContainerComponent {
49852
50505
  isCorrectFile =
49853
50506
  this.bulkUploadService.checkCorrectFile(excelData1, 2) ||
49854
50507
  this.bulkUploadService.checkCorrectFile(excelData2, 2);
50508
+ const frequencyHeaders = this.bulkUploadService.getHeaderRows(excelData1);
50509
+ const ongoingHeaders = this.bulkUploadService.getHeaderRows(excelData2);
50510
+ const columnError = this.bulkUploadService.validateResponsibilityHeaders([
50511
+ { ...frequencyHeaders, sheet: 'frequency' },
50512
+ { ...ongoingHeaders, sheet: 'ongoing' },
50513
+ ]);
50514
+ if (columnError === 'missing') {
50515
+ this.errorMessage = FILE_VALIDATION_MESSAGES.HEADERS_MISSING;
50516
+ this.isWrongFormat = true;
50517
+ this.fileValue = '';
50518
+ return;
50519
+ }
50520
+ if (columnError === 'extra') {
50521
+ this.errorMessage = FILE_VALIDATION_MESSAGES.EXTRA_COLUMNS;
50522
+ this.isWrongFormat = true;
50523
+ this.fileValue = '';
50524
+ return;
50525
+ }
49855
50526
  templateInfo.memberId = tempList[0][RESPONSIBILITY.userIndex.currentUser];
49856
50527
  }
49857
50528
  else {