@symphony-talent/component-library 3.7.0 → 3.8.0

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 (56) hide show
  1. package/esm2020/lib/molecules/invoice-line-item/invoice-line-item.model.mjs +1 -1
  2. package/esm2020/lib/organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component.mjs +17 -5
  3. package/esm2020/lib/organisms/invoice-area/invoice-area.component.mjs +22 -0
  4. package/esm2020/lib/organisms/invoice-area/invoice-area.model.mjs +2 -0
  5. package/esm2020/lib/organisms/invoice-area/invoice-area.module.mjs +20 -0
  6. package/esm2020/lib/organisms/order-summary/order-summary.component.mjs +23 -0
  7. package/esm2020/lib/organisms/order-summary/order-summary.model.mjs +2 -0
  8. package/esm2020/lib/organisms/order-summary/order-summary.module.mjs +21 -0
  9. package/esm2020/lib/pages/modals/advertise-modal/advertise-modal.component.mjs +120 -19
  10. package/esm2020/lib/pages/modals/advertise-modal/advertise-modal.model.mjs +1 -1
  11. package/esm2020/lib/pages/modals/advertise-modal/advertise-modal.module.mjs +16 -4
  12. package/esm2020/lib/templates/modal-templates/two-column-modal-template/two-column-modal-template.component.mjs +2 -2
  13. package/esm2020/projects/component-library/lib/molecules/invoice-line-item/invoice-line-item.model.mjs +1 -1
  14. package/esm2020/projects/component-library/lib/organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component.mjs +17 -5
  15. package/esm2020/projects/component-library/lib/organisms/invoice-area/invoice-area.component.mjs +22 -0
  16. package/esm2020/projects/component-library/lib/organisms/invoice-area/invoice-area.model.mjs +2 -0
  17. package/esm2020/projects/component-library/lib/organisms/invoice-area/invoice-area.module.mjs +20 -0
  18. package/esm2020/projects/component-library/lib/organisms/order-summary/order-summary.component.mjs +23 -0
  19. package/esm2020/projects/component-library/lib/organisms/order-summary/order-summary.model.mjs +2 -0
  20. package/esm2020/projects/component-library/lib/organisms/order-summary/order-summary.module.mjs +21 -0
  21. package/esm2020/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.component.mjs +120 -19
  22. package/esm2020/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.model.mjs +1 -1
  23. package/esm2020/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.module.mjs +16 -4
  24. package/esm2020/projects/component-library/lib/templates/modal-templates/two-column-modal-template/two-column-modal-template.component.mjs +2 -2
  25. package/fesm2015/symphony-talent-component-library-projects-component-library.mjs +203 -21
  26. package/fesm2015/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
  27. package/fesm2015/symphony-talent-component-library.mjs +203 -21
  28. package/fesm2015/symphony-talent-component-library.mjs.map +1 -1
  29. package/fesm2020/symphony-talent-component-library-projects-component-library.mjs +203 -21
  30. package/fesm2020/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
  31. package/fesm2020/symphony-talent-component-library.mjs +203 -21
  32. package/fesm2020/symphony-talent-component-library.mjs.map +1 -1
  33. package/lib/molecules/invoice-line-item/invoice-line-item.model.d.ts +1 -1
  34. package/lib/organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component.d.ts +5 -1
  35. package/lib/organisms/invoice-area/invoice-area.component.d.ts +8 -0
  36. package/lib/organisms/invoice-area/invoice-area.model.d.ts +6 -0
  37. package/lib/organisms/invoice-area/invoice-area.module.d.ts +10 -0
  38. package/lib/organisms/order-summary/order-summary.component.d.ts +8 -0
  39. package/lib/organisms/order-summary/order-summary.model.d.ts +7 -0
  40. package/lib/organisms/order-summary/order-summary.module.d.ts +11 -0
  41. package/lib/pages/modals/advertise-modal/advertise-modal.component.d.ts +16 -1
  42. package/lib/pages/modals/advertise-modal/advertise-modal.model.d.ts +1 -7
  43. package/lib/pages/modals/advertise-modal/advertise-modal.module.d.ts +15 -12
  44. package/package.json +1 -1
  45. package/projects/component-library/global-assets/spacing.scss +4 -0
  46. package/projects/component-library/lib/molecules/invoice-line-item/invoice-line-item.model.d.ts +1 -1
  47. package/projects/component-library/lib/organisms/advertise-postingboard-selection-list/advertise-postingboard-selection-list.component.d.ts +5 -1
  48. package/projects/component-library/lib/organisms/invoice-area/invoice-area.component.d.ts +8 -0
  49. package/projects/component-library/lib/organisms/invoice-area/invoice-area.model.d.ts +6 -0
  50. package/projects/component-library/lib/organisms/invoice-area/invoice-area.module.d.ts +10 -0
  51. package/projects/component-library/lib/organisms/order-summary/order-summary.component.d.ts +8 -0
  52. package/projects/component-library/lib/organisms/order-summary/order-summary.model.d.ts +7 -0
  53. package/projects/component-library/lib/organisms/order-summary/order-summary.module.d.ts +11 -0
  54. package/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.component.d.ts +16 -1
  55. package/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.model.d.ts +1 -7
  56. package/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.module.d.ts +15 -12
@@ -2948,10 +2948,10 @@ class TwoColumnModalTemplateComponent {
2948
2948
  constructor() { }
2949
2949
  }
2950
2950
  TwoColumnModalTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: TwoColumnModalTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2951
- TwoColumnModalTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: TwoColumnModalTemplateComponent, selector: "symphony-two-column-modal-template", ngImport: i0, template: "<div class=\"sfx sfx-modal\">\n <!-- main title -->\n <section class=\"modal-header sfx-p-30 sfx-pt-40\">\n <div class=\"modal-title sfx-pb-30\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-6 col-md-6 sfx-pr-30\">\n <ng-content select=\"[sfx-modal-title]\"></ng-content>\n </div>\n <span class=\"pull-right sfx-pr-15\" style=\"padding-top: 1px\">\n <ng-content select=\"[sfx-close-button]\"></ng-content>\n </span>\n </div>\n </div>\n <div class=\"modal-subtitle\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-6 col-md-6 sfx-pr-30\">\n <ng-content select=\"[sfx-modal-subtitle]\"></ng-content>\n </div>\n </div>\n </div>\n </section>\n <section class=\"modal-body-area sfx-pt-0\">\n <ng-content select=\"[sfx-modal-body-area]\"></ng-content>\n </section>\n <!-- footer -->\n <section class=\"modal-footer sfx-bg-black sfx-pt-30 sfx-pb-40\">\n <div class=\"col-xs-6\">\n <span class=\"sfx-pr-10 pull-left\">\n <ng-content select=\"[sfx-button-back]\"></ng-content>\n </span>\n </div>\n <div class=\"col-xs-6\">\n <div class=\"sfx-d-flex pull-right\">\n <span class=\"sfx-pr-10\">\n <ng-content select=\"[sfx-button-secondary]\"></ng-content>\n </span>\n <span class=\"sfx-pl-10\">\n <ng-content select=\"[sfx-button-primary]\"></ng-content>\n </span>\n </div>\n </div>\n </section>\n</div>\n", styles: [".pull-left{float:left}\n"] });
2951
+ TwoColumnModalTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: TwoColumnModalTemplateComponent, selector: "symphony-two-column-modal-template", ngImport: i0, template: "<div class=\"sfx sfx-modal\">\n <!-- main title -->\n <section class=\"modal-header sfx-p-30 sfx-pt-40\">\n <div class=\"modal-title sfx-pb-30\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-6 col-md-6 sfx-pr-30\">\n <ng-content select=\"[sfx-modal-title]\"></ng-content>\n </div>\n <span class=\"pull-right sfx-pr-15\" style=\"padding-top: 1px\">\n <ng-content select=\"[sfx-close-button]\"></ng-content>\n </span>\n </div>\n </div>\n <div class=\"modal-subtitle\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-6 col-md-6 sfx-pr-30\">\n <ng-content select=\"[sfx-modal-subtitle]\"></ng-content>\n </div>\n </div>\n </div>\n </section>\n <section class=\"modal-body-area sfx-pt-0\">\n <ng-content select=\"[sfx-modal-body-area]\"></ng-content>\n </section>\n <!-- footer -->\n <section class=\"modal-footer sfx-bg-black sfx-pt-30 sfx-pb-40\">\n <div class=\"col-xs-6\">\n <span class=\"sfx-pr-10 pull-left\">\n <ng-content select=\"[sfx-button-back]\"></ng-content>\n </span>\n </div>\n <div class=\"col-xs-6\">\n <div class=\"sfx-d-flex pull-right\">\n <span class=\"sfx-pr-10\">\n <ng-content select=\"[sfx-button-secondary]\"></ng-content>\n </span>\n <span class=\"sfx-pl-10\">\n <ng-content select=\"[sfx-button-primary]\"></ng-content>\n </span>\n </div>\n </div>\n </section>\n</div>\n", styles: [".pull-left{float:left}.modal-footer{min-height:130px}\n"] });
2952
2952
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: TwoColumnModalTemplateComponent, decorators: [{
2953
2953
  type: Component,
2954
- args: [{ selector: 'symphony-two-column-modal-template', template: "<div class=\"sfx sfx-modal\">\n <!-- main title -->\n <section class=\"modal-header sfx-p-30 sfx-pt-40\">\n <div class=\"modal-title sfx-pb-30\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-6 col-md-6 sfx-pr-30\">\n <ng-content select=\"[sfx-modal-title]\"></ng-content>\n </div>\n <span class=\"pull-right sfx-pr-15\" style=\"padding-top: 1px\">\n <ng-content select=\"[sfx-close-button]\"></ng-content>\n </span>\n </div>\n </div>\n <div class=\"modal-subtitle\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-6 col-md-6 sfx-pr-30\">\n <ng-content select=\"[sfx-modal-subtitle]\"></ng-content>\n </div>\n </div>\n </div>\n </section>\n <section class=\"modal-body-area sfx-pt-0\">\n <ng-content select=\"[sfx-modal-body-area]\"></ng-content>\n </section>\n <!-- footer -->\n <section class=\"modal-footer sfx-bg-black sfx-pt-30 sfx-pb-40\">\n <div class=\"col-xs-6\">\n <span class=\"sfx-pr-10 pull-left\">\n <ng-content select=\"[sfx-button-back]\"></ng-content>\n </span>\n </div>\n <div class=\"col-xs-6\">\n <div class=\"sfx-d-flex pull-right\">\n <span class=\"sfx-pr-10\">\n <ng-content select=\"[sfx-button-secondary]\"></ng-content>\n </span>\n <span class=\"sfx-pl-10\">\n <ng-content select=\"[sfx-button-primary]\"></ng-content>\n </span>\n </div>\n </div>\n </section>\n</div>\n", styles: [".pull-left{float:left}\n"] }]
2954
+ args: [{ selector: 'symphony-two-column-modal-template', template: "<div class=\"sfx sfx-modal\">\n <!-- main title -->\n <section class=\"modal-header sfx-p-30 sfx-pt-40\">\n <div class=\"modal-title sfx-pb-30\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-6 col-md-6 sfx-pr-30\">\n <ng-content select=\"[sfx-modal-title]\"></ng-content>\n </div>\n <span class=\"pull-right sfx-pr-15\" style=\"padding-top: 1px\">\n <ng-content select=\"[sfx-close-button]\"></ng-content>\n </span>\n </div>\n </div>\n <div class=\"modal-subtitle\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-6 col-md-6 sfx-pr-30\">\n <ng-content select=\"[sfx-modal-subtitle]\"></ng-content>\n </div>\n </div>\n </div>\n </section>\n <section class=\"modal-body-area sfx-pt-0\">\n <ng-content select=\"[sfx-modal-body-area]\"></ng-content>\n </section>\n <!-- footer -->\n <section class=\"modal-footer sfx-bg-black sfx-pt-30 sfx-pb-40\">\n <div class=\"col-xs-6\">\n <span class=\"sfx-pr-10 pull-left\">\n <ng-content select=\"[sfx-button-back]\"></ng-content>\n </span>\n </div>\n <div class=\"col-xs-6\">\n <div class=\"sfx-d-flex pull-right\">\n <span class=\"sfx-pr-10\">\n <ng-content select=\"[sfx-button-secondary]\"></ng-content>\n </span>\n <span class=\"sfx-pl-10\">\n <ng-content select=\"[sfx-button-primary]\"></ng-content>\n </span>\n </div>\n </div>\n </section>\n</div>\n", styles: [".pull-left{float:left}.modal-footer{min-height:130px}\n"] }]
2955
2955
  }], ctorParameters: function () { return []; } });
2956
2956
 
2957
2957
  class TwoColumnBodyTemplateComponent {
@@ -3040,13 +3040,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
3040
3040
  }] } });
3041
3041
 
3042
3042
  class AdvertisePostingboardSelectionListComponent {
3043
- constructor() { }
3043
+ constructor() {
3044
+ this.postingBoardChange = new EventEmitter();
3045
+ }
3046
+ onPostingBoardSelect(selectedBoard) {
3047
+ console.log('onPostingBoardSelect');
3048
+ this.postingBoardChange.emit(selectedBoard);
3049
+ }
3050
+ onPriceChange(priceChangeBoard) {
3051
+ console.log('onPriceChange');
3052
+ this.postingBoardChange.emit(priceChangeBoard);
3053
+ }
3044
3054
  }
3045
3055
  AdvertisePostingboardSelectionListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3046
- AdvertisePostingboardSelectionListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertisePostingboardSelectionListComponent, selector: "symphony-advertise-postingboard-selection-list", inputs: { model: "model" }, ngImport: i0, template: "<symphony-advertise-postingboard-selection-item\n *ngFor=\"let item of model\"\n [model]=\"item\"\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"] }] });
3056
+ 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"] }] });
3047
3057
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionListComponent, decorators: [{
3048
3058
  type: Component,
3049
- args: [{ selector: 'symphony-advertise-postingboard-selection-list', template: "<symphony-advertise-postingboard-selection-item\n *ngFor=\"let item of model\"\n [model]=\"item\"\n></symphony-advertise-postingboard-selection-item>\n", styles: [""] }]
3059
+ 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: [""] }]
3060
+ }], ctorParameters: function () { return []; }, propDecorators: { model: [{
3061
+ type: Input
3062
+ }], postingBoardChange: [{
3063
+ type: Output
3064
+ }] } });
3065
+
3066
+ class InvoiceAreaComponent {
3067
+ constructor() {
3068
+ this.model = {
3069
+ lineItems: [],
3070
+ title: '',
3071
+ };
3072
+ }
3073
+ }
3074
+ InvoiceAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3075
+ InvoiceAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: InvoiceAreaComponent, selector: "symphony-invoice-area", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"job-type-summary sfx-px-20\">\n <div class=\"job-type-title\">\n <symphony-h5 [text]=\"model.title\"></symphony-h5>\n </div>\n <ul class=\"invoice-list list-unstyled sfx-mb-20\">\n <li class=\"invoice-line-item\" *ngFor=\"let lineItem of model.lineItems\">\n <symphony-invoice-line-item\n [model]=\"lineItem\"\n ></symphony-invoice-line-item>\n </li>\n </ul>\n <symphony-invoice-line-item\n [model]=\"model.total\"\n ></symphony-invoice-line-item>\n</div>\n", styles: [".job-type-summary{border-bottom:1px solid #d9d9d9}\n"], components: [{ type: H5Component, selector: "symphony-h5", inputs: ["text", "isSecondary"] }, { type: InvoiceLineItemComponent, selector: "symphony-invoice-line-item", inputs: ["model"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
3076
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaComponent, decorators: [{
3077
+ type: Component,
3078
+ args: [{ selector: 'symphony-invoice-area', template: "<div class=\"job-type-summary sfx-px-20\">\n <div class=\"job-type-title\">\n <symphony-h5 [text]=\"model.title\"></symphony-h5>\n </div>\n <ul class=\"invoice-list list-unstyled sfx-mb-20\">\n <li class=\"invoice-line-item\" *ngFor=\"let lineItem of model.lineItems\">\n <symphony-invoice-line-item\n [model]=\"lineItem\"\n ></symphony-invoice-line-item>\n </li>\n </ul>\n <symphony-invoice-line-item\n [model]=\"model.total\"\n ></symphony-invoice-line-item>\n</div>\n", styles: [".job-type-summary{border-bottom:1px solid #d9d9d9}\n"] }]
3079
+ }], ctorParameters: function () { return []; }, propDecorators: { model: [{
3080
+ type: Input
3081
+ }] } });
3082
+
3083
+ class OrderSummaryComponent {
3084
+ constructor() {
3085
+ this.model = {
3086
+ invoiceAreas: [],
3087
+ title: '',
3088
+ };
3089
+ }
3090
+ }
3091
+ OrderSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrderSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3092
+ OrderSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: OrderSummaryComponent, selector: "symphony-order-summary", inputs: { model: "model" }, ngImport: i0, template: "<section class=\"order-summary\">\n <symphony-h4>{{ model.title }}</symphony-h4>\n <ul class=\"invoice-area-list list-unstyled sfx-mb-20\">\n <li\n class=\"invoice-area-item\"\n *ngFor=\"let invoiceArea of model.invoiceAreas\"\n >\n <symphony-invoice-area [model]=\"invoiceArea\"></symphony-invoice-area>\n </li>\n </ul>\n <symphony-invoice-line-item\n [model]=\"model.total\"\n ></symphony-invoice-line-item>\n</section>\n", styles: [""], components: [{ type: H4Component, selector: "symphony-h4", inputs: ["text", "isSecondary"] }, { type: InvoiceAreaComponent, selector: "symphony-invoice-area", inputs: ["model"] }, { type: InvoiceLineItemComponent, selector: "symphony-invoice-line-item", inputs: ["model"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
3093
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrderSummaryComponent, decorators: [{
3094
+ type: Component,
3095
+ args: [{ selector: 'symphony-order-summary', template: "<section class=\"order-summary\">\n <symphony-h4>{{ model.title }}</symphony-h4>\n <ul class=\"invoice-area-list list-unstyled sfx-mb-20\">\n <li\n class=\"invoice-area-item\"\n *ngFor=\"let invoiceArea of model.invoiceAreas\"\n >\n <symphony-invoice-area [model]=\"invoiceArea\"></symphony-invoice-area>\n </li>\n </ul>\n <symphony-invoice-line-item\n [model]=\"model.total\"\n ></symphony-invoice-line-item>\n</section>\n", styles: [""] }]
3050
3096
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
3051
3097
  type: Input
3052
3098
  }] } });
@@ -3063,11 +3109,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
3063
3109
 
3064
3110
  class AdvertiseModalComponent {
3065
3111
  constructor() {
3066
- this.model = {
3067
- title: '',
3068
- primaryButtonText: '',
3069
- secondaryButtonText: '',
3070
- };
3071
3112
  this.buttonClicked = new EventEmitter();
3072
3113
  this.closeButtonClicked = new EventEmitter();
3073
3114
  this.fundsInfo = {
@@ -3076,20 +3117,55 @@ class AdvertiseModalComponent {
3076
3117
  text: 'Sufficient Funds',
3077
3118
  iconColor: '#00D56B',
3078
3119
  };
3120
+ this.payPerClickBoards = [];
3121
+ this.jobBoards = [];
3122
+ this.jobCount = 0;
3123
+ this.modalTitle = '';
3079
3124
  }
3080
3125
  ngOnInit() {
3126
+ this.initialiseDefaultValues();
3127
+ this.updateModalHeader();
3128
+ this.updateOrderSummary();
3129
+ }
3130
+ initialiseDefaultValues() {
3081
3131
  this.filteredPostingBoardList = this.model.jobBoards;
3082
- this.populateJobCountHeader();
3132
+ this.jobCount = this.model.jobsToAdvertise.length;
3133
+ this.orderSummary = {
3134
+ title: 'Your Order',
3135
+ invoiceAreas: [
3136
+ {
3137
+ lineItems: [],
3138
+ title: 'Pay-Per-Click',
3139
+ total: {
3140
+ textLeft: 'Cost Programatic Boards',
3141
+ textRight: `x (${this.jobCount}) Jobs = $0`,
3142
+ },
3143
+ },
3144
+ {
3145
+ lineItems: [],
3146
+ title: 'Job Boards',
3147
+ total: {
3148
+ textLeft: 'Cost Job Boards',
3149
+ textRight: `x (${this.jobCount}) Jobs = $0`,
3150
+ },
3151
+ },
3152
+ ],
3153
+ total: {
3154
+ textLeft: '',
3155
+ textRight: '$0',
3156
+ label: 'Total:',
3157
+ },
3158
+ };
3083
3159
  }
3084
- populateJobCountHeader() {
3160
+ updateModalHeader() {
3085
3161
  let subTitleTooltip = '';
3086
- let jobCount = 1;
3162
+ let jobNumber = 1;
3087
3163
  this.model.jobsToAdvertise.forEach((job) => {
3088
3164
  subTitleTooltip = subTitleTooltip + `${job.jobTitle} [${job.id}]`;
3089
- if (jobCount != this.model.jobsToAdvertise.length) {
3165
+ if (jobNumber != this.model.jobsToAdvertise.length) {
3090
3166
  subTitleTooltip = subTitleTooltip + '</br>';
3091
3167
  }
3092
- jobCount++;
3168
+ jobNumber++;
3093
3169
  });
3094
3170
  this.subTitle = {
3095
3171
  tooltipHtml: subTitleTooltip,
@@ -3098,9 +3174,27 @@ class AdvertiseModalComponent {
3098
3174
  icon: Icons.INFO,
3099
3175
  placement: 'right',
3100
3176
  };
3177
+ if (this.model.isLoading) {
3178
+ this.modalTitle = 'Loading Job Boards...';
3179
+ }
3180
+ if (this.model.navigation.showJobBoardsSelection) {
3181
+ this.modalTitle = 'Select Your Job Ad Buys';
3182
+ }
3183
+ if (this.model.navigation.showOrderReview) {
3184
+ this.modalTitle = 'Review you Job Ad Buys';
3185
+ }
3186
+ if (this.model.navigation.showConfirmation) {
3187
+ this.modalTitle = 'Confirmation of your Job Ad Buys';
3188
+ }
3189
+ if (this.model.navigation.showCancel) {
3190
+ this.modalTitle = 'Are you sure you want to abandon your order?';
3191
+ }
3192
+ if (this.model.navigation.showProcessing) {
3193
+ this.modalTitle = 'Processing Order...';
3194
+ }
3101
3195
  }
3102
3196
  onKeywordSearch(keyword) {
3103
- this.filteredPostingBoardList = this.model.jobBoards.filter((board) => board.boardName.toLowerCase().includes(keyword));
3197
+ this.filteredPostingBoardList = this.model.jobBoards.filter((board) => board.boardName.toLowerCase().includes(keyword.toLowerCase()));
3104
3198
  }
3105
3199
  onButtonClick(text) {
3106
3200
  this.buttonClicked.emit(text);
@@ -3108,12 +3202,63 @@ class AdvertiseModalComponent {
3108
3202
  onCloseButtonClick() {
3109
3203
  this.closeButtonClicked.emit();
3110
3204
  }
3205
+ onPostingBoardChange(selectedBoard) {
3206
+ this.updateOrderSummary();
3207
+ }
3208
+ addLineItem(invoiceAreaIndex, selectedBoard) {
3209
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.push({
3210
+ textLeft: selectedBoard.boardName,
3211
+ textRight: `$${selectedBoard.boardPrice}`,
3212
+ });
3213
+ }
3214
+ removeLineItem(invoiceAreaIndex, selectedBoard) {
3215
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems =
3216
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.filter((li) => li.textLeft !== selectedBoard.boardName);
3217
+ }
3218
+ calculateInvoiceAreaTotal(invoiceAreaIndex) {
3219
+ let invoiceAreaTotal = 0;
3220
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.forEach((li) => {
3221
+ invoiceAreaTotal = invoiceAreaTotal + +li.textRight.replace('$', '');
3222
+ });
3223
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].total.textRight = `x (${this.model.jobsToAdvertise.length}) Jobs = $${invoiceAreaTotal * this.model.jobsToAdvertise.length}`;
3224
+ return invoiceAreaTotal * this.model.jobsToAdvertise.length;
3225
+ }
3226
+ calculateOrderTotal(payPerClickAreaTotal, jobBoardAreaTotal) {
3227
+ const selectedJobBoards = this.model.jobBoards.filter((jb) => jb.isSelected).length;
3228
+ const jobToAdvertiseCount = this.model.jobsToAdvertise.length;
3229
+ const orderSummaryText = `(${selectedJobBoards}) Boards x ${this.model.jobsToAdvertise.length} Jobs = (${selectedJobBoards * jobToAdvertiseCount}) Ads`;
3230
+ this.orderSummary.total = {
3231
+ label: 'Total:',
3232
+ textLeft: orderSummaryText,
3233
+ textRight: `$${payPerClickAreaTotal + jobBoardAreaTotal}`,
3234
+ };
3235
+ }
3236
+ updateOrderSummary() {
3237
+ this.orderSummary.invoiceAreas[0].lineItems = [];
3238
+ this.orderSummary.invoiceAreas[1].lineItems = [];
3239
+ this.model.jobBoards.forEach((jb) => {
3240
+ if (jb.isSelected) {
3241
+ if (jb.isPayPerClick) {
3242
+ this.addLineItem(0, jb);
3243
+ }
3244
+ else {
3245
+ this.addLineItem(1, jb);
3246
+ }
3247
+ }
3248
+ });
3249
+ const payPerClickAreaTotal = this.calculateInvoiceAreaTotal(0);
3250
+ const jobBoardAreaTotal = this.calculateInvoiceAreaTotal(1);
3251
+ this.calculateOrderTotal(payPerClickAreaTotal, jobBoardAreaTotal);
3252
+ if (this.model.jobBoards.filter((jb) => jb.isSelected).length === 0) {
3253
+ this.isJobBoardNextButtonDisabled = true;
3254
+ }
3255
+ }
3111
3256
  }
3112
3257
  AdvertiseModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3113
- 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" }, ngImport: i0, template: "<symphony-two-column-modal-template>\n <symphony-h4 sfx-modal-title>{{ model.title }}</symphony-h4>\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\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"filteredPostingBoardList\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-placeholder\n sfx-right-column\n [label]=\"'sfx-right-column'\"\n [height]=\"'400px'\"\n ></symphony-placeholder>\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 >\n <div sfx-left-column class=\"posting-boards\">\n <symphony-advertise-order-review></symphony-advertise-order-review>\n </div>\n\n <symphony-placeholder\n sfx-right-column\n [label]=\"'sfx-right-column'\"\n [height]=\"'400px'\"\n ></symphony-placeholder>\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 >\n <div sfx-left-column class=\"posting-boards\">Confirmation page</div>\n\n <symphony-placeholder\n sfx-right-column\n [label]=\"'sfx-right-column'\"\n [height]=\"'400px'\"\n ></symphony-placeholder>\n </symphony-two-column-body-template>\n\n <div\n *ngIf=\"!model.isLoading && model.navigation.showCancel\"\n sfx-modal-body-area\n class=\"posting-boards sfx-p-30\"\n >\n Cancel Page\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.showBackButton\"\n sfx-button-back\n [text]=\"model.backButtonText\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n sfx-button-secondary\n [text]=\"model.secondaryButtonText\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n sfx-button-primary\n [text]=\"model.primaryButtonText\"\n [disabled]=\"model.disablePrimaryButton\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n</symphony-two-column-modal-template>\n", styles: [".right-col-header-inner{padding-top:10px}.posting-boards{height:400px;overflow-x:auto}::-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}\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"] }, { type: PlaceholderComponent, selector: "symphony-placeholder", inputs: ["type", "label", "tooltip", "tooltipPlacement", "height", "width"] }, { type: AdvertiseOrderReviewComponent, selector: "symphony-advertise-order-review" }, { type: SfxLoaderComponent, selector: "symphony-sfx-loader", inputs: ["leftStyle"] }, { type: ButtonComponent, selector: "symphony-button", inputs: ["text", "disabled", "isSecondary", "isInverse"], outputs: ["clicked"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3258
+ 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" }, ngImport: i0, template: "<symphony-two-column-modal-template>\n <symphony-h4 sfx-modal-title>{{ modalTitle }}</symphony-h4>\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\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"filteredPostingBoardList\"\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 >\n <div sfx-left-column class=\"posting-boards\">\n <symphony-advertise-order-review></symphony-advertise-order-review>\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.showConfirmation\"\n sfx-modal-body-area\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n <div sfx-right-column class=\"posting-boards\">\n <div class=\"stage\">\n <div class=\"box bounce-7\">\n <div class=\"complete-container\">\n <symphony-h2>Your order is complete</symphony-h2>\n <div class=\"success-icon-spacing\">\n <symphony-icon\n [icon]=\"'si-confirmation'\"\n [iconColor]=\"'#00D56B'\"\n [size]=\"'50px'\"\n ></symphony-icon>\n </div>\n </div>\n </div>\n </div>\n </div>\n </symphony-two-column-body-template>\n\n <!-- <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showProcessing\"\n sfx-modal-body-area\n >\n <symphony-p sfx-left-column\n >SmashFlyX is submitting your order to your selected job boards. Some\n orders happen immediately, while others take a little more time. Check\n your order status if you don't recieve a confirmation in the next\n 24hours.</symphony-p\n >\n <div sfx-right-column class=\"posting-boards\">\n <div class=\"stage\">\n <div class=\"box bounce-7\">\n <div class=\"complete-container\">\n <div class=\"success-icon-spacing\">\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n </div>\n </div>\n </div>\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\n *ngIf=\"!model.isLoading && model.navigation.showCancel\"\n sfx-modal-body-area\n class=\"posting-boards sfx-p-30\"\n >\n Cancel Page\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\n <symphony-button\n *ngIf=\"model.navigation.showCancel\"\n sfx-button-secondary\n [text]=\"'Abandon Order'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showCancel\"\n sfx-button-primary\n [text]=\"'Continue Order'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n</symphony-two-column-modal-template>\n", styles: [".right-col-header-inner{padding-top:10px}.posting-boards{height:400px;overflow-x:auto}::-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: AdvertiseOrderReviewComponent, selector: "symphony-advertise-order-review" }, { type: H2Component, selector: "symphony-h2", inputs: ["text", "isSecondary"] }, { type: ParagraphComponent, selector: "symphony-paragraph", inputs: ["text", "isSecondary"] }, { type: SfxLoaderComponent, selector: "symphony-sfx-loader", inputs: ["leftStyle"] }, { type: ButtonComponent, selector: "symphony-button", inputs: ["text", "disabled", "isSecondary", "isInverse"], outputs: ["clicked"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3114
3259
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, decorators: [{
3115
3260
  type: Component,
3116
- args: [{ selector: 'symphony-advertise-modal', template: "<symphony-two-column-modal-template>\n <symphony-h4 sfx-modal-title>{{ model.title }}</symphony-h4>\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\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"filteredPostingBoardList\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-placeholder\n sfx-right-column\n [label]=\"'sfx-right-column'\"\n [height]=\"'400px'\"\n ></symphony-placeholder>\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 >\n <div sfx-left-column class=\"posting-boards\">\n <symphony-advertise-order-review></symphony-advertise-order-review>\n </div>\n\n <symphony-placeholder\n sfx-right-column\n [label]=\"'sfx-right-column'\"\n [height]=\"'400px'\"\n ></symphony-placeholder>\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 >\n <div sfx-left-column class=\"posting-boards\">Confirmation page</div>\n\n <symphony-placeholder\n sfx-right-column\n [label]=\"'sfx-right-column'\"\n [height]=\"'400px'\"\n ></symphony-placeholder>\n </symphony-two-column-body-template>\n\n <div\n *ngIf=\"!model.isLoading && model.navigation.showCancel\"\n sfx-modal-body-area\n class=\"posting-boards sfx-p-30\"\n >\n Cancel Page\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.showBackButton\"\n sfx-button-back\n [text]=\"model.backButtonText\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n sfx-button-secondary\n [text]=\"model.secondaryButtonText\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n sfx-button-primary\n [text]=\"model.primaryButtonText\"\n [disabled]=\"model.disablePrimaryButton\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n</symphony-two-column-modal-template>\n", styles: [".right-col-header-inner{padding-top:10px}.posting-boards{height:400px;overflow-x:auto}::-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}\n"] }]
3261
+ args: [{ selector: 'symphony-advertise-modal', template: "<symphony-two-column-modal-template>\n <symphony-h4 sfx-modal-title>{{ modalTitle }}</symphony-h4>\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\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"filteredPostingBoardList\"\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 >\n <div sfx-left-column class=\"posting-boards\">\n <symphony-advertise-order-review></symphony-advertise-order-review>\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.showConfirmation\"\n sfx-modal-body-area\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n <div sfx-right-column class=\"posting-boards\">\n <div class=\"stage\">\n <div class=\"box bounce-7\">\n <div class=\"complete-container\">\n <symphony-h2>Your order is complete</symphony-h2>\n <div class=\"success-icon-spacing\">\n <symphony-icon\n [icon]=\"'si-confirmation'\"\n [iconColor]=\"'#00D56B'\"\n [size]=\"'50px'\"\n ></symphony-icon>\n </div>\n </div>\n </div>\n </div>\n </div>\n </symphony-two-column-body-template>\n\n <!-- <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showProcessing\"\n sfx-modal-body-area\n >\n <symphony-p sfx-left-column\n >SmashFlyX is submitting your order to your selected job boards. Some\n orders happen immediately, while others take a little more time. Check\n your order status if you don't recieve a confirmation in the next\n 24hours.</symphony-p\n >\n <div sfx-right-column class=\"posting-boards\">\n <div class=\"stage\">\n <div class=\"box bounce-7\">\n <div class=\"complete-container\">\n <div class=\"success-icon-spacing\">\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n </div>\n </div>\n </div>\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\n *ngIf=\"!model.isLoading && model.navigation.showCancel\"\n sfx-modal-body-area\n class=\"posting-boards sfx-p-30\"\n >\n Cancel Page\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\n <symphony-button\n *ngIf=\"model.navigation.showCancel\"\n sfx-button-secondary\n [text]=\"'Abandon Order'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showCancel\"\n sfx-button-primary\n [text]=\"'Continue Order'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n</symphony-two-column-modal-template>\n", styles: [".right-col-header-inner{padding-top:10px}.posting-boards{height:400px;overflow-x:auto}::-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"] }]
3117
3262
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
3118
3263
  type: Input
3119
3264
  }], buttonClicked: [{
@@ -3206,12 +3351,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
3206
3351
  }]
3207
3352
  }] });
3208
3353
 
3354
+ class InvoiceAreaModule {
3355
+ }
3356
+ InvoiceAreaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3357
+ InvoiceAreaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaModule, declarations: [InvoiceAreaComponent], imports: [CommonModule, InvoiceLineItemModule, H5Module], exports: [InvoiceAreaComponent] });
3358
+ InvoiceAreaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaModule, imports: [[CommonModule, InvoiceLineItemModule, H5Module]] });
3359
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaModule, decorators: [{
3360
+ type: NgModule,
3361
+ args: [{
3362
+ declarations: [InvoiceAreaComponent],
3363
+ imports: [CommonModule, InvoiceLineItemModule, H5Module],
3364
+ exports: [InvoiceAreaComponent],
3365
+ }]
3366
+ }] });
3367
+
3368
+ class OrderSummaryModule {
3369
+ }
3370
+ OrderSummaryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrderSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3371
+ OrderSummaryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrderSummaryModule, declarations: [OrderSummaryComponent], imports: [CommonModule, InvoiceAreaModule, H4Module, InvoiceLineItemModule], exports: [OrderSummaryComponent] });
3372
+ OrderSummaryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrderSummaryModule, imports: [[CommonModule, InvoiceAreaModule, H4Module, InvoiceLineItemModule]] });
3373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrderSummaryModule, decorators: [{
3374
+ type: NgModule,
3375
+ args: [{
3376
+ declarations: [OrderSummaryComponent],
3377
+ imports: [CommonModule, InvoiceAreaModule, H4Module, InvoiceLineItemModule],
3378
+ exports: [OrderSummaryComponent],
3379
+ }]
3380
+ }] });
3381
+
3209
3382
  class ModalModule {
3210
3383
  }
3211
3384
  ModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3212
3385
  ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, declarations: [AdvertiseModalComponent], imports: [CommonModule,
3213
3386
  TwoColumnModalModule,
3214
3387
  TwoColumnBodyTemplateModule,
3388
+ H2Module,
3389
+ H3Module,
3215
3390
  H4Module,
3216
3391
  H5Module,
3217
3392
  ParagraphModule,
@@ -3222,11 +3397,14 @@ ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
3222
3397
  H5WithIconModule,
3223
3398
  AdvertisePostingboardSelectionListModule,
3224
3399
  SfxLoaderModule,
3225
- AdvertiseOrderReviewModule], exports: [AdvertiseModalComponent] });
3400
+ AdvertiseOrderReviewModule,
3401
+ OrderSummaryModule], exports: [AdvertiseModalComponent] });
3226
3402
  ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, imports: [[
3227
3403
  CommonModule,
3228
3404
  TwoColumnModalModule,
3229
3405
  TwoColumnBodyTemplateModule,
3406
+ H2Module,
3407
+ H3Module,
3230
3408
  H4Module,
3231
3409
  H5Module,
3232
3410
  ParagraphModule,
@@ -3237,7 +3415,8 @@ ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "1
3237
3415
  H5WithIconModule,
3238
3416
  AdvertisePostingboardSelectionListModule,
3239
3417
  SfxLoaderModule,
3240
- AdvertiseOrderReviewModule
3418
+ AdvertiseOrderReviewModule,
3419
+ OrderSummaryModule,
3241
3420
  ]] });
3242
3421
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, decorators: [{
3243
3422
  type: NgModule,
@@ -3247,6 +3426,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
3247
3426
  CommonModule,
3248
3427
  TwoColumnModalModule,
3249
3428
  TwoColumnBodyTemplateModule,
3429
+ H2Module,
3430
+ H3Module,
3250
3431
  H4Module,
3251
3432
  H5Module,
3252
3433
  ParagraphModule,
@@ -3257,7 +3438,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
3257
3438
  H5WithIconModule,
3258
3439
  AdvertisePostingboardSelectionListModule,
3259
3440
  SfxLoaderModule,
3260
- AdvertiseOrderReviewModule
3441
+ AdvertiseOrderReviewModule,
3442
+ OrderSummaryModule,
3261
3443
  ],
3262
3444
  exports: [AdvertiseModalComponent],
3263
3445
  }]