@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';
@@ -1357,7 +1357,7 @@ class InputChipsComponent {
1357
1357
  validateEmail(form) {
1358
1358
  let errorCount = form.get(this.controlErrorCount).value;
1359
1359
  let control = this.form.controls[this.controlName];
1360
- const REGEXP = new RegExp('^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$');
1360
+ const REGEXP = new RegExp('^[a-zA-Z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$');
1361
1361
  for (let i = 0; i < control.value.length; i++) {
1362
1362
  if (!REGEXP.test(control.value[i].value)) {
1363
1363
  errorCount = errorCount + 1;
@@ -1396,7 +1396,7 @@ class EmailValidator {
1396
1396
  static createValidator(form, controlErrorCount) {
1397
1397
  return (control) => {
1398
1398
  let errorCount = form.get(controlErrorCount).value;
1399
- const REGEXP = new RegExp('^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$');
1399
+ const REGEXP = new RegExp('^[a-zA-Z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$');
1400
1400
  for (let i = 0; i < control.value.length; i++) {
1401
1401
  if (!REGEXP.test(control.value[i].value)) {
1402
1402
  errorCount = errorCount + 1;
@@ -5055,45 +5055,87 @@ class InputEditableTextComponent {
5055
5055
  constructor() {
5056
5056
  this.type = 'number';
5057
5057
  this.confirm = new EventEmitter();
5058
+ this.validate = new EventEmitter();
5059
+ this.editMode = new EventEmitter();
5060
+ }
5061
+ ngOnInit() {
5062
+ if (this.model.minValue) {
5063
+ this.maxMinPlaceholder = `${this.model.minValue}`;
5064
+ }
5065
+ if (this.model.minValue && this.model.maxValue) {
5066
+ this.maxMinPlaceholder = `${this.model.inputMask}${this.model.minValue} - ${this.model.inputMask}${this.model.maxValue}`;
5067
+ }
5058
5068
  }
5059
5069
  onEditClick() {
5060
5070
  this.model.isInEditMode = true;
5061
5071
  this.previousValue = this.model.value;
5072
+ this.editMode.emit(this.model);
5062
5073
  }
5063
5074
  onConfirmClick() {
5064
- this.model.isInEditMode = false;
5065
- this.confirm.emit(this.model);
5075
+ if (!this.model.isInvalid) {
5076
+ this.model.isInEditMode = false;
5077
+ this.confirm.emit(this.model);
5078
+ }
5066
5079
  }
5067
5080
  onCloseClick() {
5068
5081
  this.model.value = this.previousValue;
5069
5082
  this.model.isInEditMode = false;
5070
5083
  }
5084
+ onValidate(event) {
5085
+ if (Number(this.model.value) < this.model.minValue) {
5086
+ this.model.isInvalid = true;
5087
+ }
5088
+ else if (this.model.maxValue &&
5089
+ Number(this.model.value) > this.model.maxValue) {
5090
+ this.model.isInvalid = true;
5091
+ }
5092
+ else {
5093
+ this.model.isInvalid = false;
5094
+ }
5095
+ this.validate.emit(this.model);
5096
+ }
5071
5097
  }
5072
5098
  InputEditableTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InputEditableTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5073
- 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"] }] });
5099
+ 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 });
5074
5100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InputEditableTextComponent, decorators: [{
5075
5101
  type: Component,
5076
- 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"] }]
5102
+ 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"] }]
5077
5103
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
5078
5104
  type: Input
5079
5105
  }], type: [{
5080
5106
  type: Input
5081
5107
  }], confirm: [{
5082
5108
  type: Output
5109
+ }], validate: [{
5110
+ type: Output
5111
+ }], editMode: [{
5112
+ type: Output
5083
5113
  }] } });
5084
5114
 
5085
5115
  class AdvertisePostingboardSelectionItemComponent {
5086
5116
  constructor() {
5087
5117
  this.priceChange = new EventEmitter();
5118
+ this.validationChange = new EventEmitter();
5119
+ this.editModeChange = new EventEmitter();
5088
5120
  this.postingBoardSelect = new EventEmitter();
5089
5121
  }
5090
5122
  ngOnInit() {
5091
5123
  this.mapModel();
5092
5124
  }
5093
5125
  onBoardPriceChange(priceChangeEvent) {
5126
+ this.model.isInEditMode = priceChangeEvent.isInEditMode;
5094
5127
  this.model.boardPrice = +priceChangeEvent.value;
5095
5128
  this.priceChange.emit(this.model);
5096
5129
  }
5130
+ onBoardValidateChange(validateChange) {
5131
+ this.model.isInEditMode = validateChange.isInEditMode;
5132
+ this.model.isInvalid = validateChange.isInvalid;
5133
+ this.validationChange.emit(this.model);
5134
+ }
5135
+ onBoardEditMode(editModeChange) {
5136
+ this.model.isInEditMode = editModeChange.isInEditMode;
5137
+ this.editModeChange.emit(this.model);
5138
+ }
5097
5139
  onPostingBoardSelect(postingBoardSelectEvent) {
5098
5140
  this.model.isSelected = postingBoardSelectEvent.isActive;
5099
5141
  this.postingBoardSelect.emit(this.model);
@@ -5107,19 +5149,25 @@ class AdvertisePostingboardSelectionItemComponent {
5107
5149
  isEditable: this.model.isEditable,
5108
5150
  isInEditMode: this.model.isInEditMode,
5109
5151
  id: this.model.id,
5152
+ minValue: this.model.minValue,
5153
+ maxValue: this.model.maxValue
5110
5154
  };
5111
5155
  }
5112
5156
  }
5113
5157
  }
5114
5158
  AdvertisePostingboardSelectionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5115
- 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"] }] });
5159
+ 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"] }] });
5116
5160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionItemComponent, decorators: [{
5117
5161
  type: Component,
5118
- 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"] }]
5162
+ 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"] }]
5119
5163
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
5120
5164
  type: Input
5121
5165
  }], priceChange: [{
5122
5166
  type: Output
5167
+ }], validationChange: [{
5168
+ type: Output
5169
+ }], editModeChange: [{
5170
+ type: Output
5123
5171
  }], postingBoardSelect: [{
5124
5172
  type: Output
5125
5173
  }] } });
@@ -5129,19 +5177,23 @@ class AdvertisePostingboardSelectionListComponent {
5129
5177
  this.postingBoardChange = new EventEmitter();
5130
5178
  }
5131
5179
  onPostingBoardSelect(selectedBoard) {
5132
- console.log('onPostingBoardSelect');
5133
5180
  this.postingBoardChange.emit(selectedBoard);
5134
5181
  }
5135
5182
  onPriceChange(priceChangeBoard) {
5136
- console.log('onPriceChange');
5137
5183
  this.postingBoardChange.emit(priceChangeBoard);
5138
5184
  }
5185
+ onValidationChange(validationChangeBoard) {
5186
+ this.postingBoardChange.emit(validationChangeBoard);
5187
+ }
5188
+ onEditModeChange(editModeChangeBoard) {
5189
+ this.postingBoardChange.emit(editModeChangeBoard);
5190
+ }
5139
5191
  }
5140
5192
  AdvertisePostingboardSelectionListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5141
- 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"] }] });
5193
+ 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"] }] });
5142
5194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionListComponent, decorators: [{
5143
5195
  type: Component,
5144
- 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: [""] }]
5196
+ 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: [""] }]
5145
5197
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
5146
5198
  type: Input
5147
5199
  }], postingBoardChange: [{
@@ -5183,7 +5235,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
5183
5235
  }] } });
5184
5236
 
5185
5237
  class AdvertiseModalComponent {
5186
- constructor() {
5238
+ constructor(decimalPipe) {
5239
+ this.decimalPipe = decimalPipe;
5187
5240
  this.buttonClicked = new EventEmitter();
5188
5241
  this.closeButtonClicked = new EventEmitter();
5189
5242
  this.postingBoardChange = new EventEmitter();
@@ -5272,26 +5325,37 @@ class AdvertiseModalComponent {
5272
5325
  this.closeButtonClicked.emit();
5273
5326
  }
5274
5327
  onPostingBoardChange(selectedBoard) {
5275
- const selectedJobBoards = this.model.jobBoards.filter(jb => jb.isSelected)
5276
- .length;
5277
- if (selectedJobBoards > 0) {
5328
+ const selectedJobBoards = this.model.jobBoards.filter(jb => jb.isSelected);
5329
+ if (selectedJobBoards.length > 0) {
5278
5330
  this.updateOrderSummary();
5279
5331
  }
5332
+ const invalidJobBoards = selectedJobBoards.filter(jb => jb.isInvalid)
5333
+ .length;
5334
+ if (invalidJobBoards > 0) {
5335
+ this.isJobBoardNextButtonDisabled = true;
5336
+ }
5337
+ const editModeJobBoards = selectedJobBoards.filter(jb => jb.isInEditMode)
5338
+ .length;
5339
+ if (editModeJobBoards > 0) {
5340
+ this.isJobBoardNextButtonDisabled = true;
5341
+ }
5280
5342
  }
5281
5343
  addLineItem(invoiceAreaIndex, selectedBoard) {
5344
+ let formattedBoardPrice = this.decimalPipe.transform(selectedBoard.boardPrice, '1.0', 'en-US');
5282
5345
  this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.push({
5283
5346
  textLeft: selectedBoard.boardName,
5284
- textRight: `$${selectedBoard.boardPrice}`
5347
+ textRight: `$${formattedBoardPrice}`
5285
5348
  });
5286
5349
  }
5287
5350
  calculateInvoiceAreaTotal(invoiceAreaIndex) {
5288
5351
  let invoiceAreaTotal = 0;
5289
5352
  this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.forEach(li => {
5290
- invoiceAreaTotal = invoiceAreaTotal + +li.textRight.replace('$', '');
5353
+ invoiceAreaTotal =
5354
+ invoiceAreaTotal + +li.textRight.replace('$', '').replace(',', '');
5291
5355
  });
5292
- this.orderSummary.invoiceAreas[invoiceAreaIndex].subTotal.textRight = `$${invoiceAreaTotal *
5293
- this.model.jobsToAdvertise.length}`;
5294
- this.orderSummary.invoiceAreas[invoiceAreaIndex].total.textRight = `$${invoiceAreaTotal}`;
5356
+ let subTotal = invoiceAreaTotal * this.model.jobsToAdvertise.length;
5357
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].subTotal.textRight = `$${this.decimalPipe.transform(subTotal, '1.0', 'en-US')}`;
5358
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].total.textRight = `$${this.decimalPipe.transform(invoiceAreaTotal.toString().replace(',', ''), '1.0', 'en-US')}`;
5295
5359
  return invoiceAreaTotal * this.model.jobsToAdvertise.length;
5296
5360
  }
5297
5361
  calculateOrderTotal(payPerClickAreaTotal, jobBoardAreaTotal) {
@@ -5299,10 +5363,11 @@ class AdvertiseModalComponent {
5299
5363
  .length;
5300
5364
  const jobToAdvertiseCount = this.model.jobsToAdvertise.length;
5301
5365
  const orderSummaryText = `(${selectedJobBoards}) Boards x ${this.model.jobsToAdvertise.length} Jobs = (${selectedJobBoards * jobToAdvertiseCount}) Ads`;
5366
+ let currentTotal = payPerClickAreaTotal + jobBoardAreaTotal;
5302
5367
  this.orderSummary.total = {
5303
5368
  label: 'Current Total',
5304
5369
  textLeft: '',
5305
- textRight: `$${payPerClickAreaTotal + jobBoardAreaTotal}`
5370
+ textRight: `$${this.decimalPipe.transform(currentTotal.toString().replace(',', ''), '1.0', 'en-US')}`
5306
5371
  };
5307
5372
  }
5308
5373
  updateOrderSummary() {
@@ -5362,12 +5427,12 @@ class AdvertiseModalComponent {
5362
5427
  this.postingBoardChange.emit(this.model);
5363
5428
  }
5364
5429
  }
5365
- AdvertiseModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5430
+ AdvertiseModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, deps: [{ token: i1.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component });
5366
5431
  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 });
5367
5432
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, decorators: [{
5368
5433
  type: Component,
5369
5434
  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"] }]
5370
- }], ctorParameters: function () { return []; }, propDecorators: { model: [{
5435
+ }], ctorParameters: function () { return [{ type: i1.DecimalPipe }]; }, propDecorators: { model: [{
5371
5436
  type: Input
5372
5437
  }], buttonClicked: [{
5373
5438
  type: Output
@@ -5523,7 +5588,7 @@ ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
5523
5588
  OrderSummaryModule,
5524
5589
  ConfirmationModalModule,
5525
5590
  PhaserCardModule], exports: [AdvertiseModalComponent] });
5526
- ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, imports: [[
5591
+ ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, providers: [DecimalPipe], imports: [[
5527
5592
  CommonModule,
5528
5593
  TwoColumnModalModule,
5529
5594
  TwoColumnBodyTemplateModule,
@@ -5569,6 +5634,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
5569
5634
  ConfirmationModalModule,
5570
5635
  PhaserCardModule
5571
5636
  ],
5637
+ providers: [DecimalPipe],
5572
5638
  exports: [AdvertiseModalComponent]
5573
5639
  }]
5574
5640
  }] });