@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
@@ -2946,10 +2946,10 @@ class TwoColumnModalTemplateComponent {
2946
2946
  constructor() { }
2947
2947
  }
2948
2948
  TwoColumnModalTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: TwoColumnModalTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2949
- 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"] });
2949
+ 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"] });
2950
2950
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: TwoColumnModalTemplateComponent, decorators: [{
2951
2951
  type: Component,
2952
- 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"] }]
2952
+ 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"] }]
2953
2953
  }], ctorParameters: function () { return []; } });
2954
2954
 
2955
2955
  class TwoColumnBodyTemplateComponent {
@@ -3037,13 +3037,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
3037
3037
  }] } });
3038
3038
 
3039
3039
  class AdvertisePostingboardSelectionListComponent {
3040
- constructor() { }
3040
+ constructor() {
3041
+ this.postingBoardChange = new EventEmitter();
3042
+ }
3043
+ onPostingBoardSelect(selectedBoard) {
3044
+ console.log('onPostingBoardSelect');
3045
+ this.postingBoardChange.emit(selectedBoard);
3046
+ }
3047
+ onPriceChange(priceChangeBoard) {
3048
+ console.log('onPriceChange');
3049
+ this.postingBoardChange.emit(priceChangeBoard);
3050
+ }
3041
3051
  }
3042
3052
  AdvertisePostingboardSelectionListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3043
- 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"] }] });
3053
+ 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"] }] });
3044
3054
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertisePostingboardSelectionListComponent, decorators: [{
3045
3055
  type: Component,
3046
- 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: [""] }]
3056
+ 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: [""] }]
3057
+ }], ctorParameters: function () { return []; }, propDecorators: { model: [{
3058
+ type: Input
3059
+ }], postingBoardChange: [{
3060
+ type: Output
3061
+ }] } });
3062
+
3063
+ class InvoiceAreaComponent {
3064
+ constructor() {
3065
+ this.model = {
3066
+ lineItems: [],
3067
+ title: '',
3068
+ };
3069
+ }
3070
+ }
3071
+ InvoiceAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3072
+ 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"] }] });
3073
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaComponent, decorators: [{
3074
+ type: Component,
3075
+ 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"] }]
3076
+ }], ctorParameters: function () { return []; }, propDecorators: { model: [{
3077
+ type: Input
3078
+ }] } });
3079
+
3080
+ class OrderSummaryComponent {
3081
+ constructor() {
3082
+ this.model = {
3083
+ invoiceAreas: [],
3084
+ title: '',
3085
+ };
3086
+ }
3087
+ }
3088
+ OrderSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrderSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3089
+ 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"] }] });
3090
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrderSummaryComponent, decorators: [{
3091
+ type: Component,
3092
+ 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: [""] }]
3047
3093
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
3048
3094
  type: Input
3049
3095
  }] } });
@@ -3060,11 +3106,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
3060
3106
 
3061
3107
  class AdvertiseModalComponent {
3062
3108
  constructor() {
3063
- this.model = {
3064
- title: '',
3065
- primaryButtonText: '',
3066
- secondaryButtonText: '',
3067
- };
3068
3109
  this.buttonClicked = new EventEmitter();
3069
3110
  this.closeButtonClicked = new EventEmitter();
3070
3111
  this.fundsInfo = {
@@ -3073,20 +3114,55 @@ class AdvertiseModalComponent {
3073
3114
  text: 'Sufficient Funds',
3074
3115
  iconColor: '#00D56B',
3075
3116
  };
3117
+ this.payPerClickBoards = [];
3118
+ this.jobBoards = [];
3119
+ this.jobCount = 0;
3120
+ this.modalTitle = '';
3076
3121
  }
3077
3122
  ngOnInit() {
3123
+ this.initialiseDefaultValues();
3124
+ this.updateModalHeader();
3125
+ this.updateOrderSummary();
3126
+ }
3127
+ initialiseDefaultValues() {
3078
3128
  this.filteredPostingBoardList = this.model.jobBoards;
3079
- this.populateJobCountHeader();
3129
+ this.jobCount = this.model.jobsToAdvertise.length;
3130
+ this.orderSummary = {
3131
+ title: 'Your Order',
3132
+ invoiceAreas: [
3133
+ {
3134
+ lineItems: [],
3135
+ title: 'Pay-Per-Click',
3136
+ total: {
3137
+ textLeft: 'Cost Programatic Boards',
3138
+ textRight: `x (${this.jobCount}) Jobs = $0`,
3139
+ },
3140
+ },
3141
+ {
3142
+ lineItems: [],
3143
+ title: 'Job Boards',
3144
+ total: {
3145
+ textLeft: 'Cost Job Boards',
3146
+ textRight: `x (${this.jobCount}) Jobs = $0`,
3147
+ },
3148
+ },
3149
+ ],
3150
+ total: {
3151
+ textLeft: '',
3152
+ textRight: '$0',
3153
+ label: 'Total:',
3154
+ },
3155
+ };
3080
3156
  }
3081
- populateJobCountHeader() {
3157
+ updateModalHeader() {
3082
3158
  let subTitleTooltip = '';
3083
- let jobCount = 1;
3159
+ let jobNumber = 1;
3084
3160
  this.model.jobsToAdvertise.forEach((job) => {
3085
3161
  subTitleTooltip = subTitleTooltip + `${job.jobTitle} [${job.id}]`;
3086
- if (jobCount != this.model.jobsToAdvertise.length) {
3162
+ if (jobNumber != this.model.jobsToAdvertise.length) {
3087
3163
  subTitleTooltip = subTitleTooltip + '</br>';
3088
3164
  }
3089
- jobCount++;
3165
+ jobNumber++;
3090
3166
  });
3091
3167
  this.subTitle = {
3092
3168
  tooltipHtml: subTitleTooltip,
@@ -3095,9 +3171,27 @@ class AdvertiseModalComponent {
3095
3171
  icon: Icons.INFO,
3096
3172
  placement: 'right',
3097
3173
  };
3174
+ if (this.model.isLoading) {
3175
+ this.modalTitle = 'Loading Job Boards...';
3176
+ }
3177
+ if (this.model.navigation.showJobBoardsSelection) {
3178
+ this.modalTitle = 'Select Your Job Ad Buys';
3179
+ }
3180
+ if (this.model.navigation.showOrderReview) {
3181
+ this.modalTitle = 'Review you Job Ad Buys';
3182
+ }
3183
+ if (this.model.navigation.showConfirmation) {
3184
+ this.modalTitle = 'Confirmation of your Job Ad Buys';
3185
+ }
3186
+ if (this.model.navigation.showCancel) {
3187
+ this.modalTitle = 'Are you sure you want to abandon your order?';
3188
+ }
3189
+ if (this.model.navigation.showProcessing) {
3190
+ this.modalTitle = 'Processing Order...';
3191
+ }
3098
3192
  }
3099
3193
  onKeywordSearch(keyword) {
3100
- this.filteredPostingBoardList = this.model.jobBoards.filter((board) => board.boardName.toLowerCase().includes(keyword));
3194
+ this.filteredPostingBoardList = this.model.jobBoards.filter((board) => board.boardName.toLowerCase().includes(keyword.toLowerCase()));
3101
3195
  }
3102
3196
  onButtonClick(text) {
3103
3197
  this.buttonClicked.emit(text);
@@ -3105,12 +3199,63 @@ class AdvertiseModalComponent {
3105
3199
  onCloseButtonClick() {
3106
3200
  this.closeButtonClicked.emit();
3107
3201
  }
3202
+ onPostingBoardChange(selectedBoard) {
3203
+ this.updateOrderSummary();
3204
+ }
3205
+ addLineItem(invoiceAreaIndex, selectedBoard) {
3206
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.push({
3207
+ textLeft: selectedBoard.boardName,
3208
+ textRight: `$${selectedBoard.boardPrice}`,
3209
+ });
3210
+ }
3211
+ removeLineItem(invoiceAreaIndex, selectedBoard) {
3212
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems =
3213
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.filter((li) => li.textLeft !== selectedBoard.boardName);
3214
+ }
3215
+ calculateInvoiceAreaTotal(invoiceAreaIndex) {
3216
+ let invoiceAreaTotal = 0;
3217
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.forEach((li) => {
3218
+ invoiceAreaTotal = invoiceAreaTotal + +li.textRight.replace('$', '');
3219
+ });
3220
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].total.textRight = `x (${this.model.jobsToAdvertise.length}) Jobs = $${invoiceAreaTotal * this.model.jobsToAdvertise.length}`;
3221
+ return invoiceAreaTotal * this.model.jobsToAdvertise.length;
3222
+ }
3223
+ calculateOrderTotal(payPerClickAreaTotal, jobBoardAreaTotal) {
3224
+ const selectedJobBoards = this.model.jobBoards.filter((jb) => jb.isSelected).length;
3225
+ const jobToAdvertiseCount = this.model.jobsToAdvertise.length;
3226
+ const orderSummaryText = `(${selectedJobBoards}) Boards x ${this.model.jobsToAdvertise.length} Jobs = (${selectedJobBoards * jobToAdvertiseCount}) Ads`;
3227
+ this.orderSummary.total = {
3228
+ label: 'Total:',
3229
+ textLeft: orderSummaryText,
3230
+ textRight: `$${payPerClickAreaTotal + jobBoardAreaTotal}`,
3231
+ };
3232
+ }
3233
+ updateOrderSummary() {
3234
+ this.orderSummary.invoiceAreas[0].lineItems = [];
3235
+ this.orderSummary.invoiceAreas[1].lineItems = [];
3236
+ this.model.jobBoards.forEach((jb) => {
3237
+ if (jb.isSelected) {
3238
+ if (jb.isPayPerClick) {
3239
+ this.addLineItem(0, jb);
3240
+ }
3241
+ else {
3242
+ this.addLineItem(1, jb);
3243
+ }
3244
+ }
3245
+ });
3246
+ const payPerClickAreaTotal = this.calculateInvoiceAreaTotal(0);
3247
+ const jobBoardAreaTotal = this.calculateInvoiceAreaTotal(1);
3248
+ this.calculateOrderTotal(payPerClickAreaTotal, jobBoardAreaTotal);
3249
+ if (this.model.jobBoards.filter((jb) => jb.isSelected).length === 0) {
3250
+ this.isJobBoardNextButtonDisabled = true;
3251
+ }
3252
+ }
3108
3253
  }
3109
3254
  AdvertiseModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3110
- 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"] }] });
3255
+ 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"] }] });
3111
3256
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, decorators: [{
3112
3257
  type: Component,
3113
- 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"] }]
3258
+ 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"] }]
3114
3259
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
3115
3260
  type: Input
3116
3261
  }], buttonClicked: [{
@@ -3203,12 +3348,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
3203
3348
  }]
3204
3349
  }] });
3205
3350
 
3351
+ class InvoiceAreaModule {
3352
+ }
3353
+ InvoiceAreaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3354
+ InvoiceAreaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaModule, declarations: [InvoiceAreaComponent], imports: [CommonModule, InvoiceLineItemModule, H5Module], exports: [InvoiceAreaComponent] });
3355
+ InvoiceAreaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaModule, imports: [[CommonModule, InvoiceLineItemModule, H5Module]] });
3356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaModule, decorators: [{
3357
+ type: NgModule,
3358
+ args: [{
3359
+ declarations: [InvoiceAreaComponent],
3360
+ imports: [CommonModule, InvoiceLineItemModule, H5Module],
3361
+ exports: [InvoiceAreaComponent],
3362
+ }]
3363
+ }] });
3364
+
3365
+ class OrderSummaryModule {
3366
+ }
3367
+ OrderSummaryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrderSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3368
+ 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] });
3369
+ OrderSummaryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrderSummaryModule, imports: [[CommonModule, InvoiceAreaModule, H4Module, InvoiceLineItemModule]] });
3370
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrderSummaryModule, decorators: [{
3371
+ type: NgModule,
3372
+ args: [{
3373
+ declarations: [OrderSummaryComponent],
3374
+ imports: [CommonModule, InvoiceAreaModule, H4Module, InvoiceLineItemModule],
3375
+ exports: [OrderSummaryComponent],
3376
+ }]
3377
+ }] });
3378
+
3206
3379
  class ModalModule {
3207
3380
  }
3208
3381
  ModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3209
3382
  ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, declarations: [AdvertiseModalComponent], imports: [CommonModule,
3210
3383
  TwoColumnModalModule,
3211
3384
  TwoColumnBodyTemplateModule,
3385
+ H2Module,
3386
+ H3Module,
3212
3387
  H4Module,
3213
3388
  H5Module,
3214
3389
  ParagraphModule,
@@ -3219,11 +3394,14 @@ ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
3219
3394
  H5WithIconModule,
3220
3395
  AdvertisePostingboardSelectionListModule,
3221
3396
  SfxLoaderModule,
3222
- AdvertiseOrderReviewModule], exports: [AdvertiseModalComponent] });
3397
+ AdvertiseOrderReviewModule,
3398
+ OrderSummaryModule], exports: [AdvertiseModalComponent] });
3223
3399
  ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, imports: [[
3224
3400
  CommonModule,
3225
3401
  TwoColumnModalModule,
3226
3402
  TwoColumnBodyTemplateModule,
3403
+ H2Module,
3404
+ H3Module,
3227
3405
  H4Module,
3228
3406
  H5Module,
3229
3407
  ParagraphModule,
@@ -3234,7 +3412,8 @@ ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "1
3234
3412
  H5WithIconModule,
3235
3413
  AdvertisePostingboardSelectionListModule,
3236
3414
  SfxLoaderModule,
3237
- AdvertiseOrderReviewModule
3415
+ AdvertiseOrderReviewModule,
3416
+ OrderSummaryModule,
3238
3417
  ]] });
3239
3418
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: ModalModule, decorators: [{
3240
3419
  type: NgModule,
@@ -3244,6 +3423,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
3244
3423
  CommonModule,
3245
3424
  TwoColumnModalModule,
3246
3425
  TwoColumnBodyTemplateModule,
3426
+ H2Module,
3427
+ H3Module,
3247
3428
  H4Module,
3248
3429
  H5Module,
3249
3430
  ParagraphModule,
@@ -3254,7 +3435,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
3254
3435
  H5WithIconModule,
3255
3436
  AdvertisePostingboardSelectionListModule,
3256
3437
  SfxLoaderModule,
3257
- AdvertiseOrderReviewModule
3438
+ AdvertiseOrderReviewModule,
3439
+ OrderSummaryModule,
3258
3440
  ],
3259
3441
  exports: [AdvertiseModalComponent],
3260
3442
  }]