@symphony-talent/component-library 3.48.0 → 3.49.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm2020/lib/atoms/input-chips/input-chips.component.mjs +3 -3
  2. package/esm2020/lib/atoms/input-editable-text/input-editable-text.component.mjs +36 -6
  3. package/esm2020/lib/atoms/input-editable-text/input-editable-text.model.mjs +1 -1
  4. package/esm2020/lib/molecules/advertise-postingboard-selection-item/advertise-postingboard-selection-item.component.mjs +21 -3
  5. package/esm2020/lib/organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component.mjs +9 -5
  6. package/esm2020/lib/pages/modals/advertise-modal/advertise-modal.component.mjs +41 -28
  7. package/esm2020/lib/pages/modals/advertise-modal/advertise-modal.model.mjs +1 -1
  8. package/esm2020/lib/pages/modals/advertise-modal/advertise-modal.module.mjs +4 -3
  9. package/esm2020/projects/component-library/lib/atoms/input-chips/input-chips.component.mjs +3 -3
  10. package/esm2020/projects/component-library/lib/atoms/input-editable-text/input-editable-text.component.mjs +36 -6
  11. package/esm2020/projects/component-library/lib/atoms/input-editable-text/input-editable-text.model.mjs +1 -1
  12. package/esm2020/projects/component-library/lib/molecules/advertise-postingboard-selection-item/advertise-postingboard-selection-item.component.mjs +21 -3
  13. package/esm2020/projects/component-library/lib/organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component.mjs +9 -5
  14. package/esm2020/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.component.mjs +41 -28
  15. package/esm2020/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.model.mjs +1 -1
  16. package/esm2020/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.module.mjs +4 -3
  17. package/fesm2015/symphony-talent-component-library-projects-component-library.mjs +92 -26
  18. package/fesm2015/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
  19. package/fesm2015/symphony-talent-component-library.mjs +92 -26
  20. package/fesm2015/symphony-talent-component-library.mjs.map +1 -1
  21. package/fesm2020/symphony-talent-component-library-projects-component-library.mjs +92 -26
  22. package/fesm2020/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
  23. package/fesm2020/symphony-talent-component-library.mjs +92 -26
  24. package/fesm2020/symphony-talent-component-library.mjs.map +1 -1
  25. package/lib/atoms/input-editable-text/input-editable-text.component.d.ts +8 -3
  26. package/lib/atoms/input-editable-text/input-editable-text.model.d.ts +3 -0
  27. package/lib/molecules/advertise-postingboard-selection-item/advertise-postingboard-selection-item.component.d.ts +5 -1
  28. package/lib/organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component.d.ts +2 -0
  29. package/lib/pages/modals/advertise-modal/advertise-modal.component.d.ts +3 -1
  30. package/lib/pages/modals/advertise-modal/advertise-modal.model.d.ts +3 -0
  31. package/package.json +1 -1
  32. package/projects/component-library/lib/atoms/input-editable-text/input-editable-text.component.d.ts +8 -3
  33. package/projects/component-library/lib/atoms/input-editable-text/input-editable-text.model.d.ts +3 -0
  34. package/projects/component-library/lib/molecules/advertise-postingboard-selection-item/advertise-postingboard-selection-item.component.d.ts +5 -1
  35. package/projects/component-library/lib/organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component.d.ts +2 -0
  36. package/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.component.d.ts +3 -1
  37. package/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.model.d.ts +3 -0
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, Input, NgModule, EventEmitter, Output, Pipe, Injectable, ViewEncapsulation, ViewChild } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
- import { SlicePipe, CommonModule } from '@angular/common';
4
+ import { SlicePipe, CommonModule, DecimalPipe } from '@angular/common';
5
5
  import * as i1$1 from 'ngx-bootstrap/dropdown';
6
6
  import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
7
7
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@@ -1356,7 +1356,7 @@ class InputChipsComponent {
1356
1356
  validateEmail(form) {
1357
1357
  let errorCount = form.get(this.controlErrorCount).value;
1358
1358
  let control = this.form.controls[this.controlName];
1359
- const REGEXP = new RegExp('^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$');
1359
+ const REGEXP = new RegExp('^[a-zA-Z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$');
1360
1360
  for (let i = 0; i < control.value.length; i++) {
1361
1361
  if (!REGEXP.test(control.value[i].value)) {
1362
1362
  errorCount = errorCount + 1;
@@ -1395,7 +1395,7 @@ class EmailValidator {
1395
1395
  static createValidator(form, controlErrorCount) {
1396
1396
  return (control) => {
1397
1397
  let errorCount = form.get(controlErrorCount).value;
1398
- const REGEXP = new RegExp('^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$');
1398
+ const REGEXP = new RegExp('^[a-zA-Z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$');
1399
1399
  for (let i = 0; i < control.value.length; i++) {
1400
1400
  if (!REGEXP.test(control.value[i].value)) {
1401
1401
  errorCount = errorCount + 1;
@@ -5052,45 +5052,87 @@ class InputEditableTextComponent {
5052
5052
  constructor() {
5053
5053
  this.type = 'number';
5054
5054
  this.confirm = new EventEmitter();
5055
+ this.validate = new EventEmitter();
5056
+ this.editMode = new EventEmitter();
5057
+ }
5058
+ ngOnInit() {
5059
+ if (this.model.minValue) {
5060
+ this.maxMinPlaceholder = `${this.model.minValue}`;
5061
+ }
5062
+ if (this.model.minValue && this.model.maxValue) {
5063
+ this.maxMinPlaceholder = `${this.model.inputMask}${this.model.minValue} - ${this.model.inputMask}${this.model.maxValue}`;
5064
+ }
5055
5065
  }
5056
5066
  onEditClick() {
5057
5067
  this.model.isInEditMode = true;
5058
5068
  this.previousValue = this.model.value;
5069
+ this.editMode.emit(this.model);
5059
5070
  }
5060
5071
  onConfirmClick() {
5061
- this.model.isInEditMode = false;
5062
- this.confirm.emit(this.model);
5072
+ if (!this.model.isInvalid) {
5073
+ this.model.isInEditMode = false;
5074
+ this.confirm.emit(this.model);
5075
+ }
5063
5076
  }
5064
5077
  onCloseClick() {
5065
5078
  this.model.value = this.previousValue;
5066
5079
  this.model.isInEditMode = false;
5067
5080
  }
5081
+ onValidate(event) {
5082
+ if (Number(this.model.value) < this.model.minValue) {
5083
+ this.model.isInvalid = true;
5084
+ }
5085
+ else if (this.model.maxValue &&
5086
+ Number(this.model.value) > this.model.maxValue) {
5087
+ this.model.isInvalid = true;
5088
+ }
5089
+ else {
5090
+ this.model.isInvalid = false;
5091
+ }
5092
+ this.validate.emit(this.model);
5093
+ }
5068
5094
  }
5069
5095
  InputEditableTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InputEditableTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5070
- InputEditableTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: InputEditableTextComponent, selector: "symphony-input-editable-text", inputs: { model: "model", type: "type" }, outputs: { confirm: "confirm" }, ngImport: i0, template: "<div *ngIf=\"model\">\n <div *ngIf=\"!model.isInEditMode\">\n <div class=\"flex sfx-pt-10\">\n <div>\n <symphony-paragraph\n >{{ model.inputMask }}{{ model.value }}</symphony-paragraph\n >\n </div>\n <div *ngIf=\"model.isEditable\" (click)=\"onEditClick()\" class=\"sfx-pl-10\">\n <symphony-icon [icon]=\"'si-edit'\" [size]=\"'14px'\"></symphony-icon>\n </div>\n <div *ngIf=\"!model.isEditable\" class=\"no-icon-padding\"></div>\n </div>\n </div>\n <div *ngIf=\"model.isInEditMode\" class=\"editMode\">\n <span class=\"sfx-pr-10\"\n >{{ model.inputMask }}<input type=\"{{ type }}\" [(ngModel)]=\"model.value\"\n /></span>\n <span class=\"edit-i-postion\"\n ><symphony-icon\n [icon]=\"'si-confirmation'\"\n [size]=\"'14px'\"\n (click)=\"onConfirmClick()\"\n ></symphony-icon\n ></span>\n <span class=\"sfx-ml-5 edit-i-postion\"\n ><symphony-icon\n [icon]=\"'si-close-modal'\"\n [size]=\"'14px'\"\n (click)=\"onCloseClick()\"\n ></symphony-icon\n ></span>\n </div>\n</div>\n", styles: ["input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;padding:0}input{border-width:0px;border:none;text-align:right;width:21px}input:focus{outline:none}.flex{display:flex}.no-icon-padding{padding-right:23px}.editMode{border:1px solid #d9d9d9;padding:10px;border-radius:4px}.editMode .edit-i-postion{position:relative;top:1px}\n"], components: [{ type: ParagraphComponent, selector: "symphony-paragraph", inputs: ["text", "isSecondary"] }, { type: IconComponent, selector: "symphony-icon", inputs: ["icon", "isSecondary", "size", "iconColor"], outputs: ["clicked"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
5096
+ InputEditableTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: InputEditableTextComponent, selector: "symphony-input-editable-text", inputs: { model: "model", type: "type" }, outputs: { confirm: "confirm", validate: "validate", editMode: "editMode" }, ngImport: i0, template: "<div *ngIf=\"model\">\n <div *ngIf=\"!model.isInEditMode\">\n <div class=\"flex sfx-pt-10\">\n <div>\n <symphony-paragraph\n >{{ model.inputMask\n }}{{ model.value | number: \"1.0\":\"en-US\" }}</symphony-paragraph\n >\n </div>\n <div *ngIf=\"model.isEditable\" (click)=\"onEditClick()\" class=\"sfx-pl-10\">\n <symphony-icon [icon]=\"'si-edit'\" [size]=\"'14px'\"></symphony-icon>\n </div>\n <div *ngIf=\"!model.isEditable\" class=\"no-icon-padding\"></div>\n </div>\n </div>\n <div\n *ngIf=\"model.isInEditMode\"\n class=\"editMode\"\n [ngClass]=\"{\n invalid: model.isInvalid\n }\"\n >\n <span class=\"sfx-pr-10\"\n ><input\n type=\"{{ type }}\"\n *ngIf=\"maxMinPlaceholder\"\n [placeholder]=\"maxMinPlaceholder\"\n [(ngModel)]=\"model.value\"\n [ngClass]=\"{\n 'min-max-placeholder': model.minValue && model.maxValue\n }\"\n (keyup)=\"onValidate($event)\"\n />\n <input\n type=\"{{ type }}\"\n *ngIf=\"!maxMinPlaceholder\"\n [(ngModel)]=\"model.value\"\n [ngClass]=\"{\n 'min-max-placeholder': model.minValue && model.maxValue\n }\"\n (keyup)=\"onValidate($event)\"\n />\n </span>\n <span class=\"edit-i-postion\"\n ><symphony-icon\n [ngClass]=\"{\n 'invalid-confirm': model.isInvalid\n }\"\n [icon]=\"'si-confirmation'\"\n (click)=\"onConfirmClick()\"\n ></symphony-icon\n ></span>\n <span class=\"sfx-ml-10 edit-i-postion\"\n ><symphony-icon\n [icon]=\"'si-close-modal'\"\n (click)=\"onCloseClick()\"\n ></symphony-icon\n ></span>\n </div>\n</div>\n", styles: [".color-sample{float:left;border-radius:50%;height:30px;width:30px;margin-top:10px;margin-right:20px}.background-color-black{background-color:#000}.background-color-grey{background-color:#bababa}.background-color-light-grey-1{background-color:#d0d0d0}.background-color-light-grey-2{background-color:#d9d9d9}.background-color-light-grey-3{background-color:#ebebeb}.background-color-medium-black{background-color:#464646}.background-color-space-grey{background-color:#141414}.background-color-white{background-color:#fff}.background-color-green{background-color:#00d56b}.background-color-ice-blue{background-color:#03bcce}.background-color-lavender{background-color:#af5af9}.background-color-orange{background-color:#ffa700}.background-color-pink{background-color:#ff6cff}.background-color-purple{background-color:#801afc}.background-color-red{background-color:#f0001e}.background-color-skyblue{background-color:#007dbb}.background-color-turquoise{background-color:#00ebb5}.background-color-yellow{background-color:#fde928}.background-color-cyan{background-color:#00ffd8}.background-color-strong-orange{background-color:#ffa700}.background-color-soft-lime-green{background-color:#67f95a}.background-color-bright-violet{background-color:#7428fd}.background-color-lime-green{background-color:#00bb5e}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;padding:0}input{border-width:0px;border:none;width:75px}input:focus{outline:none}.flex{display:flex}.no-icon-padding{padding-right:23px}.editMode{border:1px solid #d9d9d9;padding:7.5px 10px;border-radius:4px}.editMode.invalid{border:1px solid #f0001e}.editMode .edit-i-postion{position:relative;top:2px}.editMode .min-max-placeholder::placeholder{color:#bababa}.invalid-confirm{color:#d0d0d0}.invalid-confirm:hover{cursor:no-drop}.invalid-confirm i{pointer-events:none}\n"], components: [{ type: ParagraphComponent, selector: "symphony-paragraph", inputs: ["text", "isSecondary"] }, { type: IconComponent, selector: "symphony-icon", inputs: ["icon", "isSecondary", "size", "iconColor"], outputs: ["clicked"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "number": i1.DecimalPipe }, encapsulation: i0.ViewEncapsulation.None });
5071
5097
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InputEditableTextComponent, decorators: [{
5072
5098
  type: Component,
5073
- args: [{ selector: 'symphony-input-editable-text', template: "<div *ngIf=\"model\">\n <div *ngIf=\"!model.isInEditMode\">\n <div class=\"flex sfx-pt-10\">\n <div>\n <symphony-paragraph\n >{{ model.inputMask }}{{ model.value }}</symphony-paragraph\n >\n </div>\n <div *ngIf=\"model.isEditable\" (click)=\"onEditClick()\" class=\"sfx-pl-10\">\n <symphony-icon [icon]=\"'si-edit'\" [size]=\"'14px'\"></symphony-icon>\n </div>\n <div *ngIf=\"!model.isEditable\" class=\"no-icon-padding\"></div>\n </div>\n </div>\n <div *ngIf=\"model.isInEditMode\" class=\"editMode\">\n <span class=\"sfx-pr-10\"\n >{{ model.inputMask }}<input type=\"{{ type }}\" [(ngModel)]=\"model.value\"\n /></span>\n <span class=\"edit-i-postion\"\n ><symphony-icon\n [icon]=\"'si-confirmation'\"\n [size]=\"'14px'\"\n (click)=\"onConfirmClick()\"\n ></symphony-icon\n ></span>\n <span class=\"sfx-ml-5 edit-i-postion\"\n ><symphony-icon\n [icon]=\"'si-close-modal'\"\n [size]=\"'14px'\"\n (click)=\"onCloseClick()\"\n ></symphony-icon\n ></span>\n </div>\n</div>\n", styles: ["input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;padding:0}input{border-width:0px;border:none;text-align:right;width:21px}input:focus{outline:none}.flex{display:flex}.no-icon-padding{padding-right:23px}.editMode{border:1px solid #d9d9d9;padding:10px;border-radius:4px}.editMode .edit-i-postion{position:relative;top:1px}\n"] }]
5099
+ args: [{ selector: 'symphony-input-editable-text', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"model\">\n <div *ngIf=\"!model.isInEditMode\">\n <div class=\"flex sfx-pt-10\">\n <div>\n <symphony-paragraph\n >{{ model.inputMask\n }}{{ model.value | number: \"1.0\":\"en-US\" }}</symphony-paragraph\n >\n </div>\n <div *ngIf=\"model.isEditable\" (click)=\"onEditClick()\" class=\"sfx-pl-10\">\n <symphony-icon [icon]=\"'si-edit'\" [size]=\"'14px'\"></symphony-icon>\n </div>\n <div *ngIf=\"!model.isEditable\" class=\"no-icon-padding\"></div>\n </div>\n </div>\n <div\n *ngIf=\"model.isInEditMode\"\n class=\"editMode\"\n [ngClass]=\"{\n invalid: model.isInvalid\n }\"\n >\n <span class=\"sfx-pr-10\"\n ><input\n type=\"{{ type }}\"\n *ngIf=\"maxMinPlaceholder\"\n [placeholder]=\"maxMinPlaceholder\"\n [(ngModel)]=\"model.value\"\n [ngClass]=\"{\n 'min-max-placeholder': model.minValue && model.maxValue\n }\"\n (keyup)=\"onValidate($event)\"\n />\n <input\n type=\"{{ type }}\"\n *ngIf=\"!maxMinPlaceholder\"\n [(ngModel)]=\"model.value\"\n [ngClass]=\"{\n 'min-max-placeholder': model.minValue && model.maxValue\n }\"\n (keyup)=\"onValidate($event)\"\n />\n </span>\n <span class=\"edit-i-postion\"\n ><symphony-icon\n [ngClass]=\"{\n 'invalid-confirm': model.isInvalid\n }\"\n [icon]=\"'si-confirmation'\"\n (click)=\"onConfirmClick()\"\n ></symphony-icon\n ></span>\n <span class=\"sfx-ml-10 edit-i-postion\"\n ><symphony-icon\n [icon]=\"'si-close-modal'\"\n (click)=\"onCloseClick()\"\n ></symphony-icon\n ></span>\n </div>\n</div>\n", styles: [".color-sample{float:left;border-radius:50%;height:30px;width:30px;margin-top:10px;margin-right:20px}.background-color-black{background-color:#000}.background-color-grey{background-color:#bababa}.background-color-light-grey-1{background-color:#d0d0d0}.background-color-light-grey-2{background-color:#d9d9d9}.background-color-light-grey-3{background-color:#ebebeb}.background-color-medium-black{background-color:#464646}.background-color-space-grey{background-color:#141414}.background-color-white{background-color:#fff}.background-color-green{background-color:#00d56b}.background-color-ice-blue{background-color:#03bcce}.background-color-lavender{background-color:#af5af9}.background-color-orange{background-color:#ffa700}.background-color-pink{background-color:#ff6cff}.background-color-purple{background-color:#801afc}.background-color-red{background-color:#f0001e}.background-color-skyblue{background-color:#007dbb}.background-color-turquoise{background-color:#00ebb5}.background-color-yellow{background-color:#fde928}.background-color-cyan{background-color:#00ffd8}.background-color-strong-orange{background-color:#ffa700}.background-color-soft-lime-green{background-color:#67f95a}.background-color-bright-violet{background-color:#7428fd}.background-color-lime-green{background-color:#00bb5e}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;padding:0}input{border-width:0px;border:none;width:75px}input:focus{outline:none}.flex{display:flex}.no-icon-padding{padding-right:23px}.editMode{border:1px solid #d9d9d9;padding:7.5px 10px;border-radius:4px}.editMode.invalid{border:1px solid #f0001e}.editMode .edit-i-postion{position:relative;top:2px}.editMode .min-max-placeholder::placeholder{color:#bababa}.invalid-confirm{color:#d0d0d0}.invalid-confirm:hover{cursor:no-drop}.invalid-confirm i{pointer-events:none}\n"] }]
5074
5100
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
5075
5101
  type: Input
5076
5102
  }], type: [{
5077
5103
  type: Input
5078
5104
  }], confirm: [{
5079
5105
  type: Output
5106
+ }], validate: [{
5107
+ type: Output
5108
+ }], editMode: [{
5109
+ type: Output
5080
5110
  }] } });
5081
5111
 
5082
5112
  class AdvertisePostingboardSelectionItemComponent {
5083
5113
  constructor() {
5084
5114
  this.priceChange = new EventEmitter();
5115
+ this.validationChange = new EventEmitter();
5116
+ this.editModeChange = new EventEmitter();
5085
5117
  this.postingBoardSelect = new EventEmitter();
5086
5118
  }
5087
5119
  ngOnInit() {
5088
5120
  this.mapModel();
5089
5121
  }
5090
5122
  onBoardPriceChange(priceChangeEvent) {
5123
+ this.model.isInEditMode = priceChangeEvent.isInEditMode;
5091
5124
  this.model.boardPrice = +priceChangeEvent.value;
5092
5125
  this.priceChange.emit(this.model);
5093
5126
  }
5127
+ onBoardValidateChange(validateChange) {
5128
+ this.model.isInEditMode = validateChange.isInEditMode;
5129
+ this.model.isInvalid = validateChange.isInvalid;
5130
+ this.validationChange.emit(this.model);
5131
+ }
5132
+ onBoardEditMode(editModeChange) {
5133
+ this.model.isInEditMode = editModeChange.isInEditMode;
5134
+ this.editModeChange.emit(this.model);
5135
+ }
5094
5136
  onPostingBoardSelect(postingBoardSelectEvent) {
5095
5137
  this.model.isSelected = postingBoardSelectEvent.isActive;
5096
5138
  this.postingBoardSelect.emit(this.model);
@@ -5103,19 +5145,25 @@ class AdvertisePostingboardSelectionItemComponent {
5103
5145
  isEditable: this.model.isEditable,
5104
5146
  isInEditMode: this.model.isInEditMode,
5105
5147
  id: this.model.id,
5148
+ minValue: this.model.minValue,
5149
+ maxValue: this.model.maxValue
5106
5150
  };
5107
5151
  }
5108
5152
  }
5109
5153
  }
5110
5154
  AdvertisePostingboardSelectionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5111
- AdvertisePostingboardSelectionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertisePostingboardSelectionItemComponent, selector: "symphony-advertise-postingboard-selection-item", inputs: { model: "model" }, outputs: { priceChange: "priceChange", postingBoardSelect: "postingBoardSelect" }, ngImport: i0, template: "<div *ngIf=\"model && model.isVisible\" class=\"posting-board-selection-item\">\n <div class=\"inline-block\">\n <symphony-input-checkbox\n [label]=\"model.boardName\"\n [isActive]=\"model.isSelected\"\n (clicked)=\"onPostingBoardSelect($event)\"\n ></symphony-input-checkbox>\n </div>\n <div class=\"inline-block editText\">\n <symphony-input-editable-text\n [model]=\"editableTextModel\"\n (confirm)=\"onBoardPriceChange($event)\"\n ></symphony-input-editable-text>\n </div>\n</div>\n", styles: [".posting-board-selection-item{position:relative;padding-right:100px}.posting-board-selection-item .editText{position:absolute;right:0}.inline-block{display:inline-block}\n"], components: [{ type: InputCheckboxComponent, selector: "symphony-input-checkbox", inputs: ["isActive", "label", "isRequired"], outputs: ["clicked"] }, { type: InputEditableTextComponent, selector: "symphony-input-editable-text", inputs: ["model", "type"], outputs: ["confirm"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
5155
+ AdvertisePostingboardSelectionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertisePostingboardSelectionItemComponent, selector: "symphony-advertise-postingboard-selection-item", inputs: { model: "model" }, outputs: { priceChange: "priceChange", validationChange: "validationChange", editModeChange: "editModeChange", postingBoardSelect: "postingBoardSelect" }, ngImport: i0, template: "<div *ngIf=\"model && model.isVisible\" class=\"posting-board-selection-item\">\n <div class=\"inline-block\">\n <symphony-input-checkbox\n [label]=\"model.boardName\"\n [isActive]=\"model.isSelected\"\n (clicked)=\"onPostingBoardSelect($event)\"\n ></symphony-input-checkbox>\n </div>\n <div class=\"inline-block editText\">\n <symphony-input-editable-text\n [model]=\"editableTextModel\"\n (confirm)=\"onBoardPriceChange($event)\"\n (validate)=\"onBoardValidateChange($event)\"\n (editMode)=\"onBoardEditMode($event)\"\n ></symphony-input-editable-text>\n </div>\n</div>\n", styles: [".posting-board-selection-item{position:relative;padding-right:100px}.posting-board-selection-item .editText{position:absolute;right:0}.inline-block{display:inline-block}\n"], components: [{ type: InputCheckboxComponent, selector: "symphony-input-checkbox", inputs: ["isActive", "label", "isRequired"], outputs: ["clicked"] }, { type: InputEditableTextComponent, selector: "symphony-input-editable-text", inputs: ["model", "type"], outputs: ["confirm", "validate", "editMode"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
5112
5156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionItemComponent, decorators: [{
5113
5157
  type: Component,
5114
- args: [{ selector: 'symphony-advertise-postingboard-selection-item', template: "<div *ngIf=\"model && model.isVisible\" class=\"posting-board-selection-item\">\n <div class=\"inline-block\">\n <symphony-input-checkbox\n [label]=\"model.boardName\"\n [isActive]=\"model.isSelected\"\n (clicked)=\"onPostingBoardSelect($event)\"\n ></symphony-input-checkbox>\n </div>\n <div class=\"inline-block editText\">\n <symphony-input-editable-text\n [model]=\"editableTextModel\"\n (confirm)=\"onBoardPriceChange($event)\"\n ></symphony-input-editable-text>\n </div>\n</div>\n", styles: [".posting-board-selection-item{position:relative;padding-right:100px}.posting-board-selection-item .editText{position:absolute;right:0}.inline-block{display:inline-block}\n"] }]
5158
+ args: [{ selector: 'symphony-advertise-postingboard-selection-item', template: "<div *ngIf=\"model && model.isVisible\" class=\"posting-board-selection-item\">\n <div class=\"inline-block\">\n <symphony-input-checkbox\n [label]=\"model.boardName\"\n [isActive]=\"model.isSelected\"\n (clicked)=\"onPostingBoardSelect($event)\"\n ></symphony-input-checkbox>\n </div>\n <div class=\"inline-block editText\">\n <symphony-input-editable-text\n [model]=\"editableTextModel\"\n (confirm)=\"onBoardPriceChange($event)\"\n (validate)=\"onBoardValidateChange($event)\"\n (editMode)=\"onBoardEditMode($event)\"\n ></symphony-input-editable-text>\n </div>\n</div>\n", styles: [".posting-board-selection-item{position:relative;padding-right:100px}.posting-board-selection-item .editText{position:absolute;right:0}.inline-block{display:inline-block}\n"] }]
5115
5159
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
5116
5160
  type: Input
5117
5161
  }], priceChange: [{
5118
5162
  type: Output
5163
+ }], validationChange: [{
5164
+ type: Output
5165
+ }], editModeChange: [{
5166
+ type: Output
5119
5167
  }], postingBoardSelect: [{
5120
5168
  type: Output
5121
5169
  }] } });
@@ -5125,19 +5173,23 @@ class AdvertisePostingboardSelectionListComponent {
5125
5173
  this.postingBoardChange = new EventEmitter();
5126
5174
  }
5127
5175
  onPostingBoardSelect(selectedBoard) {
5128
- console.log('onPostingBoardSelect');
5129
5176
  this.postingBoardChange.emit(selectedBoard);
5130
5177
  }
5131
5178
  onPriceChange(priceChangeBoard) {
5132
- console.log('onPriceChange');
5133
5179
  this.postingBoardChange.emit(priceChangeBoard);
5134
5180
  }
5181
+ onValidationChange(validationChangeBoard) {
5182
+ this.postingBoardChange.emit(validationChangeBoard);
5183
+ }
5184
+ onEditModeChange(editModeChangeBoard) {
5185
+ this.postingBoardChange.emit(editModeChangeBoard);
5186
+ }
5135
5187
  }
5136
5188
  AdvertisePostingboardSelectionListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5137
- AdvertisePostingboardSelectionListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertisePostingboardSelectionListComponent, selector: "symphony-advertise-postingboard-selection-list", inputs: { model: "model" }, outputs: { postingBoardChange: "postingBoardChange" }, ngImport: i0, template: "<symphony-advertise-postingboard-selection-item\n *ngFor=\"let item of model\"\n [model]=\"item\"\n (postingBoardSelect)=\"onPostingBoardSelect($event)\"\n (priceChange)=\"onPriceChange($event)\"\n></symphony-advertise-postingboard-selection-item>\n", styles: [""], components: [{ type: AdvertisePostingboardSelectionItemComponent, selector: "symphony-advertise-postingboard-selection-item", inputs: ["model"], outputs: ["priceChange", "postingBoardSelect"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
5189
+ AdvertisePostingboardSelectionListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertisePostingboardSelectionListComponent, selector: "symphony-advertise-postingboard-selection-list", inputs: { model: "model" }, outputs: { postingBoardChange: "postingBoardChange" }, ngImport: i0, template: "<symphony-advertise-postingboard-selection-item\n *ngFor=\"let item of model\"\n [model]=\"item\"\n (postingBoardSelect)=\"onPostingBoardSelect($event)\"\n (priceChange)=\"onPriceChange($event)\"\n (validationChange)=\"onValidationChange($event)\"\n (editModeChange)=\"onEditModeChange($event)\"\n></symphony-advertise-postingboard-selection-item>\n", styles: [""], components: [{ type: AdvertisePostingboardSelectionItemComponent, selector: "symphony-advertise-postingboard-selection-item", inputs: ["model"], outputs: ["priceChange", "validationChange", "editModeChange", "postingBoardSelect"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
5138
5190
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionListComponent, decorators: [{
5139
5191
  type: Component,
5140
- args: [{ selector: 'symphony-advertise-postingboard-selection-list', template: "<symphony-advertise-postingboard-selection-item\n *ngFor=\"let item of model\"\n [model]=\"item\"\n (postingBoardSelect)=\"onPostingBoardSelect($event)\"\n (priceChange)=\"onPriceChange($event)\"\n></symphony-advertise-postingboard-selection-item>\n", styles: [""] }]
5192
+ args: [{ selector: 'symphony-advertise-postingboard-selection-list', template: "<symphony-advertise-postingboard-selection-item\n *ngFor=\"let item of model\"\n [model]=\"item\"\n (postingBoardSelect)=\"onPostingBoardSelect($event)\"\n (priceChange)=\"onPriceChange($event)\"\n (validationChange)=\"onValidationChange($event)\"\n (editModeChange)=\"onEditModeChange($event)\"\n></symphony-advertise-postingboard-selection-item>\n", styles: [""] }]
5141
5193
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
5142
5194
  type: Input
5143
5195
  }], postingBoardChange: [{
@@ -5179,7 +5231,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
5179
5231
  }] } });
5180
5232
 
5181
5233
  class AdvertiseModalComponent {
5182
- constructor() {
5234
+ constructor(decimalPipe) {
5235
+ this.decimalPipe = decimalPipe;
5183
5236
  this.buttonClicked = new EventEmitter();
5184
5237
  this.closeButtonClicked = new EventEmitter();
5185
5238
  this.postingBoardChange = new EventEmitter();
@@ -5268,26 +5321,37 @@ class AdvertiseModalComponent {
5268
5321
  this.closeButtonClicked.emit();
5269
5322
  }
5270
5323
  onPostingBoardChange(selectedBoard) {
5271
- const selectedJobBoards = this.model.jobBoards.filter(jb => jb.isSelected)
5272
- .length;
5273
- if (selectedJobBoards > 0) {
5324
+ const selectedJobBoards = this.model.jobBoards.filter(jb => jb.isSelected);
5325
+ if (selectedJobBoards.length > 0) {
5274
5326
  this.updateOrderSummary();
5275
5327
  }
5328
+ const invalidJobBoards = selectedJobBoards.filter(jb => jb.isInvalid)
5329
+ .length;
5330
+ if (invalidJobBoards > 0) {
5331
+ this.isJobBoardNextButtonDisabled = true;
5332
+ }
5333
+ const editModeJobBoards = selectedJobBoards.filter(jb => jb.isInEditMode)
5334
+ .length;
5335
+ if (editModeJobBoards > 0) {
5336
+ this.isJobBoardNextButtonDisabled = true;
5337
+ }
5276
5338
  }
5277
5339
  addLineItem(invoiceAreaIndex, selectedBoard) {
5340
+ let formattedBoardPrice = this.decimalPipe.transform(selectedBoard.boardPrice, '1.0', 'en-US');
5278
5341
  this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.push({
5279
5342
  textLeft: selectedBoard.boardName,
5280
- textRight: `$${selectedBoard.boardPrice}`
5343
+ textRight: `$${formattedBoardPrice}`
5281
5344
  });
5282
5345
  }
5283
5346
  calculateInvoiceAreaTotal(invoiceAreaIndex) {
5284
5347
  let invoiceAreaTotal = 0;
5285
5348
  this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.forEach(li => {
5286
- invoiceAreaTotal = invoiceAreaTotal + +li.textRight.replace('$', '');
5349
+ invoiceAreaTotal =
5350
+ invoiceAreaTotal + +li.textRight.replace('$', '').replace(',', '');
5287
5351
  });
5288
- this.orderSummary.invoiceAreas[invoiceAreaIndex].subTotal.textRight = `$${invoiceAreaTotal *
5289
- this.model.jobsToAdvertise.length}`;
5290
- this.orderSummary.invoiceAreas[invoiceAreaIndex].total.textRight = `$${invoiceAreaTotal}`;
5352
+ let subTotal = invoiceAreaTotal * this.model.jobsToAdvertise.length;
5353
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].subTotal.textRight = `$${this.decimalPipe.transform(subTotal, '1.0', 'en-US')}`;
5354
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].total.textRight = `$${this.decimalPipe.transform(invoiceAreaTotal.toString().replace(',', ''), '1.0', 'en-US')}`;
5291
5355
  return invoiceAreaTotal * this.model.jobsToAdvertise.length;
5292
5356
  }
5293
5357
  calculateOrderTotal(payPerClickAreaTotal, jobBoardAreaTotal) {
@@ -5295,10 +5359,11 @@ class AdvertiseModalComponent {
5295
5359
  .length;
5296
5360
  const jobToAdvertiseCount = this.model.jobsToAdvertise.length;
5297
5361
  const orderSummaryText = `(${selectedJobBoards}) Boards x ${this.model.jobsToAdvertise.length} Jobs = (${selectedJobBoards * jobToAdvertiseCount}) Ads`;
5362
+ let currentTotal = payPerClickAreaTotal + jobBoardAreaTotal;
5298
5363
  this.orderSummary.total = {
5299
5364
  label: 'Current Total',
5300
5365
  textLeft: '',
5301
- textRight: `$${payPerClickAreaTotal + jobBoardAreaTotal}`
5366
+ textRight: `$${this.decimalPipe.transform(currentTotal.toString().replace(',', ''), '1.0', 'en-US')}`
5302
5367
  };
5303
5368
  }
5304
5369
  updateOrderSummary() {
@@ -5358,12 +5423,12 @@ class AdvertiseModalComponent {
5358
5423
  this.postingBoardChange.emit(this.model);
5359
5424
  }
5360
5425
  }
5361
- AdvertiseModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5426
+ AdvertiseModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, deps: [{ token: i1.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component });
5362
5427
  AdvertiseModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertiseModalComponent, selector: "symphony-advertise-modal", inputs: { model: "model" }, outputs: { buttonClicked: "buttonClicked", closeButtonClicked: "closeButtonClicked", postingBoardChange: "postingBoardChange", keywordSearchChange: "keywordSearchChange" }, usesOnChanges: true, ngImport: i0, template: "<symphony-two-column-modal-template *ngIf=\"!model.navigation.showCancel\">\n <symphony-h4\n *ngIf=\"model.navigation.showJobBoardsSelection && !model.isLoading\"\n sfx-modal-title\n >Select Your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showOrderReview\" sfx-modal-title\n >Review you Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showConfirmation\" sfx-modal-title\n >Confirmation of your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showProcessing\" sfx-modal-title\n >Processing Order...</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.isLoading\" sfx-modal-title\n >Loading Job Boards...</symphony-h4\n >\n <symphony-icon\n sfx-close-button\n [icon]=\"'si-close-modal'\"\n (clicked)=\"onCloseButtonClick()\"\n ></symphony-icon>\n <symphony-h5-with-icon sfx-modal-subtitle [model]=\"subTitle\">\n </symphony-h5-with-icon>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showJobBoardsSelection\"\n [showHeader]=\"true\"\n sfx-modal-body-area\n >\n <symphony-input-text\n sfx-left-col-header\n [noMargin]=\"true\"\n [placeholder]=\"'Search Ad Boards'\"\n [icon]=\"'si-search-new'\"\n (textChange)=\"onKeywordSearch($event)\"\n >\n </symphony-input-text>\n <div class=\"right-col-header-inner\" sfx-right-col-header>\n <symphony-h5-with-icon\n sfx-right-col-header\n *ngIf=\"model.showFunds\"\n class=\"pull-right\"\n [model]=\"fundsInfo\"\n ></symphony-h5-with-icon>\n </div>\n <div sfx-left-column class=\"posting-boards sfx-pr-10\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"model.jobBoards\"\n (postingBoardChange)=\"onPostingBoardChange($event)\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-order-summary\n sfx-right-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showOrderReview\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card [model]=\"phaserCardReview\"></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showConfirmation\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card\n [model]=\"phaserCardConfirmation\"\n ></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <div\n *ngIf=\"!model.isLoading && model.navigation.showProcessing\"\n sfx-modal-body-area\n class=\"posting-boards sfx-p-30\"\n >\n <div class=\"processing-container\">\n <symphony-paragraph\n ><b>SmashFlyX</b> is submitting your order to your selected job boards.\n Some orders happen immediately, while others take a little more time.\n Check your order status if you don't recieve a confirmation in the next\n 24hours.</symphony-paragraph\n >\n </div>\n <div class=\"sfx-mt-80\">\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n </div>\n\n <div class=\"loader-container\" *ngIf=\"model.isLoading\" sfx-modal-body-area>\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-primary\n [text]=\"'Review Order'\"\n [disabled]=\"isJobBoardNextButtonDisabled\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-back\n [text]=\"'Edit Order'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-primary\n [text]=\"'Buy'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showConfirmation\"\n sfx-button-primary\n [text]=\"'Finish & Close'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n</symphony-two-column-modal-template>\n<symphony-confirmation-modal\n *ngIf=\"!model.isLoading && model.navigation.showCancel\"\n (buttonClicked)=\"onButtonClick($event)\"\n (closeButtonClicked)=\"onCloseButtonClick()\"\n [model]=\"cancelContent\"\n>\n</symphony-confirmation-modal>\n", styles: [".right-col-header-inner{padding-top:10px}.posting-boards{height:400px;overflow-x:auto}.posting-boards.phaser{overflow:hidden;padding:40px 80px;min-height:480px}.height-wrapper .order-summary,.height-wrapper .sfx-price-totals{padding:0}.height-wrapper .sfx-checkbox-list{min-height:480px}.light-grey-bg{background:#ebebeb}.center-h-v{display:flex;align-items:center;justify-content:center}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.loader-container{padding-top:246px;padding-bottom:245px}.complete-container{text-align:center;margin-top:25%}.success-icon-spacing{margin-top:25px}.processing-container{width:400px;text-align:justify}.stage{display:flex;height:240px;width:100%}.box{align-self:flex-end;animation-duration:2s;animation-iteration-count:1;height:200px;margin:0 auto;transform-origin:bottom;width:200px}.bounce-7{animation-name:bounce-7;animation-timing-function:cubic-bezier(.24,.82,.24,.82)}@keyframes bounce-7{0%{transform:scale(1) translateY(0)}10%{transform:scale(1.1,.9) translateY(0)}30%{transform:scale(.9,1.1) translateY(-15px)}50%{transform:scale(1.05,.95) translateY(0)}57%{transform:scale(1) translateY(-7px)}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}\n"], components: [{ type: TwoColumnModalTemplateComponent, selector: "symphony-two-column-modal-template" }, { type: H4Component, selector: "symphony-h4", inputs: ["text", "isSecondary"] }, { type: IconComponent, selector: "symphony-icon", inputs: ["icon", "isSecondary", "size", "iconColor"], outputs: ["clicked"] }, { type: H5WithIconComponent, selector: "symphony-h5-with-icon", inputs: ["model"] }, { type: TwoColumnBodyTemplateComponent, selector: "symphony-two-column-body-template", inputs: ["showHeader"] }, { type: InputTextComponent, selector: "symphony-input-text", inputs: ["placeholder", "icon", "label", "isInverse", "noMargin"], outputs: ["textChange"] }, { type: AdvertisePostingboardSelectionListComponent, selector: "symphony-advertise-postingboard-selection-list", inputs: ["model"], outputs: ["postingBoardChange"] }, { type: OrderSummaryComponent, selector: "symphony-order-summary", inputs: ["model"] }, { type: PhaserCardComponent, selector: "symphony-phaser-card", inputs: ["model", "isClickable", "hasHover"], outputs: ["cardClicked", "cardHover"] }, { type: ParagraphComponent, selector: "symphony-paragraph", inputs: ["text", "isSecondary"] }, { type: SfxLoaderComponent, selector: "symphony-sfx-loader", inputs: ["leftStyle", "message"] }, { type: ButtonComponent, selector: "symphony-button", inputs: ["text", "disabled", "isSecondary", "isInverse"], outputs: ["clicked"] }, { type: ConfirmationModalComponent, selector: "symphony-confirmation-modal", inputs: ["model"], outputs: ["buttonClicked", "closeButtonClicked"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
5363
5428
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, decorators: [{
5364
5429
  type: Component,
5365
5430
  args: [{ selector: 'symphony-advertise-modal', encapsulation: ViewEncapsulation.None, template: "<symphony-two-column-modal-template *ngIf=\"!model.navigation.showCancel\">\n <symphony-h4\n *ngIf=\"model.navigation.showJobBoardsSelection && !model.isLoading\"\n sfx-modal-title\n >Select Your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showOrderReview\" sfx-modal-title\n >Review you Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showConfirmation\" sfx-modal-title\n >Confirmation of your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showProcessing\" sfx-modal-title\n >Processing Order...</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.isLoading\" sfx-modal-title\n >Loading Job Boards...</symphony-h4\n >\n <symphony-icon\n sfx-close-button\n [icon]=\"'si-close-modal'\"\n (clicked)=\"onCloseButtonClick()\"\n ></symphony-icon>\n <symphony-h5-with-icon sfx-modal-subtitle [model]=\"subTitle\">\n </symphony-h5-with-icon>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showJobBoardsSelection\"\n [showHeader]=\"true\"\n sfx-modal-body-area\n >\n <symphony-input-text\n sfx-left-col-header\n [noMargin]=\"true\"\n [placeholder]=\"'Search Ad Boards'\"\n [icon]=\"'si-search-new'\"\n (textChange)=\"onKeywordSearch($event)\"\n >\n </symphony-input-text>\n <div class=\"right-col-header-inner\" sfx-right-col-header>\n <symphony-h5-with-icon\n sfx-right-col-header\n *ngIf=\"model.showFunds\"\n class=\"pull-right\"\n [model]=\"fundsInfo\"\n ></symphony-h5-with-icon>\n </div>\n <div sfx-left-column class=\"posting-boards sfx-pr-10\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"model.jobBoards\"\n (postingBoardChange)=\"onPostingBoardChange($event)\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-order-summary\n sfx-right-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showOrderReview\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card [model]=\"phaserCardReview\"></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showConfirmation\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card\n [model]=\"phaserCardConfirmation\"\n ></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <div\n *ngIf=\"!model.isLoading && model.navigation.showProcessing\"\n sfx-modal-body-area\n class=\"posting-boards sfx-p-30\"\n >\n <div class=\"processing-container\">\n <symphony-paragraph\n ><b>SmashFlyX</b> is submitting your order to your selected job boards.\n Some orders happen immediately, while others take a little more time.\n Check your order status if you don't recieve a confirmation in the next\n 24hours.</symphony-paragraph\n >\n </div>\n <div class=\"sfx-mt-80\">\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n </div>\n\n <div class=\"loader-container\" *ngIf=\"model.isLoading\" sfx-modal-body-area>\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-primary\n [text]=\"'Review Order'\"\n [disabled]=\"isJobBoardNextButtonDisabled\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-back\n [text]=\"'Edit Order'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-primary\n [text]=\"'Buy'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showConfirmation\"\n sfx-button-primary\n [text]=\"'Finish & Close'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n</symphony-two-column-modal-template>\n<symphony-confirmation-modal\n *ngIf=\"!model.isLoading && model.navigation.showCancel\"\n (buttonClicked)=\"onButtonClick($event)\"\n (closeButtonClicked)=\"onCloseButtonClick()\"\n [model]=\"cancelContent\"\n>\n</symphony-confirmation-modal>\n", styles: [".right-col-header-inner{padding-top:10px}.posting-boards{height:400px;overflow-x:auto}.posting-boards.phaser{overflow:hidden;padding:40px 80px;min-height:480px}.height-wrapper .order-summary,.height-wrapper .sfx-price-totals{padding:0}.height-wrapper .sfx-checkbox-list{min-height:480px}.light-grey-bg{background:#ebebeb}.center-h-v{display:flex;align-items:center;justify-content:center}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.loader-container{padding-top:246px;padding-bottom:245px}.complete-container{text-align:center;margin-top:25%}.success-icon-spacing{margin-top:25px}.processing-container{width:400px;text-align:justify}.stage{display:flex;height:240px;width:100%}.box{align-self:flex-end;animation-duration:2s;animation-iteration-count:1;height:200px;margin:0 auto;transform-origin:bottom;width:200px}.bounce-7{animation-name:bounce-7;animation-timing-function:cubic-bezier(.24,.82,.24,.82)}@keyframes bounce-7{0%{transform:scale(1) translateY(0)}10%{transform:scale(1.1,.9) translateY(0)}30%{transform:scale(.9,1.1) translateY(-15px)}50%{transform:scale(1.05,.95) translateY(0)}57%{transform:scale(1) translateY(-7px)}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}\n"] }]
5366
- }], ctorParameters: function () { return []; }, propDecorators: { model: [{
5431
+ }], ctorParameters: function () { return [{ type: i1.DecimalPipe }]; }, propDecorators: { model: [{
5367
5432
  type: Input
5368
5433
  }], buttonClicked: [{
5369
5434
  type: Output
@@ -5519,7 +5584,7 @@ ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
5519
5584
  OrderSummaryModule,
5520
5585
  ConfirmationModalModule,
5521
5586
  PhaserCardModule], exports: [AdvertiseModalComponent] });
5522
- ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, imports: [[
5587
+ ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, providers: [DecimalPipe], imports: [[
5523
5588
  CommonModule,
5524
5589
  TwoColumnModalModule,
5525
5590
  TwoColumnBodyTemplateModule,
@@ -5565,6 +5630,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
5565
5630
  ConfirmationModalModule,
5566
5631
  PhaserCardModule
5567
5632
  ],
5633
+ providers: [DecimalPipe],
5568
5634
  exports: [AdvertiseModalComponent]
5569
5635
  }]
5570
5636
  }] });