@pepperi-addons/ngx-lib 0.2.55 → 0.2.58-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/attachment/attachment.component.d.ts +1 -0
  2. package/attachment/pepperi-addons-ngx-lib-attachment.metadata.json +1 -1
  3. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +6 -1
  4. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js.map +1 -1
  5. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js +3 -0
  6. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js.map +1 -1
  7. package/bundles/pepperi-addons-ngx-lib-color.umd.js +6 -1
  8. package/bundles/pepperi-addons-ngx-lib-color.umd.js.map +1 -1
  9. package/bundles/pepperi-addons-ngx-lib-date.umd.js +4 -1
  10. package/bundles/pepperi-addons-ngx-lib-date.umd.js.map +1 -1
  11. package/bundles/pepperi-addons-ngx-lib-form.umd.js +20 -15
  12. package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
  13. package/bundles/pepperi-addons-ngx-lib-image.umd.js +6 -1
  14. package/bundles/pepperi-addons-ngx-lib-image.umd.js.map +1 -1
  15. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js +6 -1
  16. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js.map +1 -1
  17. package/bundles/pepperi-addons-ngx-lib-list.umd.js +4 -2
  18. package/bundles/pepperi-addons-ngx-lib-list.umd.js.map +1 -1
  19. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js +6 -1
  20. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js.map +1 -1
  21. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js +6 -1
  22. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js.map +1 -1
  23. package/bundles/pepperi-addons-ngx-lib-select.umd.js +6 -1
  24. package/bundles/pepperi-addons-ngx-lib-select.umd.js.map +1 -1
  25. package/bundles/pepperi-addons-ngx-lib-separator.umd.js +8 -0
  26. package/bundles/pepperi-addons-ngx-lib-separator.umd.js.map +1 -1
  27. package/bundles/pepperi-addons-ngx-lib-signature.umd.js +6 -1
  28. package/bundles/pepperi-addons-ngx-lib-signature.umd.js.map +1 -1
  29. package/bundles/pepperi-addons-ngx-lib-slider.umd.js.map +1 -1
  30. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +1432 -173
  31. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js.map +1 -1
  32. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js +6 -1
  33. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js.map +1 -1
  34. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js +4 -2
  35. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js.map +1 -1
  36. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +1 -1
  37. package/bundles/pepperi-addons-ngx-lib.umd.js +4 -2
  38. package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
  39. package/color/color.component.d.ts +1 -0
  40. package/color/pepperi-addons-ngx-lib-color.metadata.json +1 -1
  41. package/core/customization/customization.service.d.ts +1 -0
  42. package/esm2015/attachment/attachment.component.js +7 -2
  43. package/esm2015/checkbox/checkbox.component.js +4 -1
  44. package/esm2015/color/color.component.js +7 -2
  45. package/esm2015/core/common/services/translate.service.js +1 -1
  46. package/esm2015/core/customization/customization.service.js +4 -2
  47. package/esm2015/date/date.component.js +4 -1
  48. package/esm2015/form/form.component.js +2 -1
  49. package/esm2015/form/internal-button.component.js +20 -17
  50. package/esm2015/form/internal-carusel.component.js +2 -1
  51. package/esm2015/image/image.component.js +7 -2
  52. package/esm2015/image/image.service.js +1 -1
  53. package/esm2015/images-filmstrip/images-filmstrip.component.js +7 -2
  54. package/esm2015/list/list-total.component.js +5 -3
  55. package/esm2015/quantity-selector/quantity-selector.component.js +7 -2
  56. package/esm2015/rich-html-textarea/rich-html-textarea.component.js +7 -2
  57. package/esm2015/select/select.component.js +7 -2
  58. package/esm2015/separator/separator.component.js +9 -1
  59. package/esm2015/signature/signature.component.js +7 -2
  60. package/esm2015/slider/slider.component.js +1 -1
  61. package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +12 -2
  62. package/esm2015/smart-filters/common/model/base-filter-component.js +40 -10
  63. package/esm2015/smart-filters/common/model/creator.js +8 -2
  64. package/esm2015/smart-filters/common/model/field.js +12 -1
  65. package/esm2015/smart-filters/common/model/operator.js +8 -8
  66. package/esm2015/smart-filters/common/model/type.js +1 -1
  67. package/esm2015/smart-filters/date-filter/date-filter.component.js +45 -2
  68. package/esm2015/smart-filters/filter-builder/common/model/filter.js +2 -0
  69. package/esm2015/smart-filters/filter-builder/common/model/legacy.js +2 -0
  70. package/esm2015/smart-filters/filter-builder/common/model/operator-unit.js +42 -0
  71. package/esm2015/smart-filters/filter-builder/common/model/operator.js +207 -0
  72. package/esm2015/smart-filters/filter-builder/common/model/type-map.js +27 -0
  73. package/esm2015/smart-filters/filter-builder/common/model/type.js +6 -0
  74. package/esm2015/smart-filters/filter-builder/common/pipes/filter-item-counter.pipe.js +18 -0
  75. package/esm2015/smart-filters/filter-builder/common/services/output-filter.service.js +132 -0
  76. package/esm2015/smart-filters/filter-builder/common/services/type-convertor.service.js +44 -0
  77. package/esm2015/smart-filters/filter-builder/filter-builder-item/filter-builder-item.component.js +106 -0
  78. package/esm2015/smart-filters/filter-builder/filter-builder-section/filter-builder-section.component.js +50 -0
  79. package/esm2015/smart-filters/filter-builder/filter-builder.component.js +65 -0
  80. package/esm2015/smart-filters/filter-builder/filter-builder.service.js +261 -0
  81. package/esm2015/smart-filters/index.js +5 -0
  82. package/esm2015/smart-filters/multi-select-filter/multi-select-filter.component.js +53 -14
  83. package/esm2015/smart-filters/number-filter/number-filter.component.js +25 -2
  84. package/esm2015/smart-filters/pepperi-addons-ngx-lib-smart-filters.js +8 -1
  85. package/esm2015/smart-filters/public-api.js +2 -1
  86. package/esm2015/smart-filters/smart-filters.module.js +14 -2
  87. package/esm2015/smart-filters/text-filter/text-filter.component.js +79 -0
  88. package/esm2015/textarea/textarea.component.js +7 -2
  89. package/esm2015/textbox/textbox.component.js +5 -3
  90. package/esm2015/top-bar/top-bar.component.js +1 -1
  91. package/fesm2015/pepperi-addons-ngx-lib-attachment.js +6 -1
  92. package/fesm2015/pepperi-addons-ngx-lib-attachment.js.map +1 -1
  93. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +3 -0
  94. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js.map +1 -1
  95. package/fesm2015/pepperi-addons-ngx-lib-color.js +6 -1
  96. package/fesm2015/pepperi-addons-ngx-lib-color.js.map +1 -1
  97. package/fesm2015/pepperi-addons-ngx-lib-date.js +3 -0
  98. package/fesm2015/pepperi-addons-ngx-lib-date.js.map +1 -1
  99. package/fesm2015/pepperi-addons-ngx-lib-form.js +20 -15
  100. package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
  101. package/fesm2015/pepperi-addons-ngx-lib-image.js +6 -1
  102. package/fesm2015/pepperi-addons-ngx-lib-image.js.map +1 -1
  103. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js +6 -1
  104. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js.map +1 -1
  105. package/fesm2015/pepperi-addons-ngx-lib-list.js +4 -2
  106. package/fesm2015/pepperi-addons-ngx-lib-list.js.map +1 -1
  107. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js +6 -1
  108. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js.map +1 -1
  109. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js +6 -1
  110. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js.map +1 -1
  111. package/fesm2015/pepperi-addons-ngx-lib-select.js +6 -1
  112. package/fesm2015/pepperi-addons-ngx-lib-select.js.map +1 -1
  113. package/fesm2015/pepperi-addons-ngx-lib-separator.js +8 -0
  114. package/fesm2015/pepperi-addons-ngx-lib-separator.js.map +1 -1
  115. package/fesm2015/pepperi-addons-ngx-lib-signature.js +6 -1
  116. package/fesm2015/pepperi-addons-ngx-lib-signature.js.map +1 -1
  117. package/fesm2015/pepperi-addons-ngx-lib-slider.js.map +1 -1
  118. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +1293 -128
  119. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js.map +1 -1
  120. package/fesm2015/pepperi-addons-ngx-lib-textarea.js +6 -1
  121. package/fesm2015/pepperi-addons-ngx-lib-textarea.js.map +1 -1
  122. package/fesm2015/pepperi-addons-ngx-lib-textbox.js +4 -2
  123. package/fesm2015/pepperi-addons-ngx-lib-textbox.js.map +1 -1
  124. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +1 -1
  125. package/fesm2015/pepperi-addons-ngx-lib.js +3 -1
  126. package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
  127. package/form/internal-button.component.d.ts +0 -1
  128. package/image/image.component.d.ts +1 -0
  129. package/image/pepperi-addons-ngx-lib-image.metadata.json +1 -1
  130. package/images-filmstrip/images-filmstrip.component.d.ts +1 -0
  131. package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.metadata.json +1 -1
  132. package/list/list-total.component.d.ts +2 -0
  133. package/list/pepperi-addons-ngx-lib-list.metadata.json +1 -1
  134. package/package.json +4 -4
  135. package/pepperi-addons-ngx-lib.metadata.json +1 -1
  136. package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.metadata.json +1 -1
  137. package/quantity-selector/quantity-selector.component.d.ts +1 -0
  138. package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.metadata.json +1 -1
  139. package/rich-html-textarea/rich-html-textarea.component.d.ts +1 -0
  140. package/select/pepperi-addons-ngx-lib-select.metadata.json +1 -1
  141. package/select/select.component.d.ts +1 -0
  142. package/separator/pepperi-addons-ngx-lib-separator.metadata.json +1 -1
  143. package/signature/pepperi-addons-ngx-lib-signature.metadata.json +1 -1
  144. package/signature/signature.component.d.ts +1 -0
  145. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +5 -1
  146. package/smart-filters/common/model/base-filter-component.d.ts +10 -1
  147. package/smart-filters/common/model/field.d.ts +4 -0
  148. package/smart-filters/common/model/operator.d.ts +1 -0
  149. package/smart-filters/common/model/type.d.ts +2 -2
  150. package/smart-filters/date-filter/date-filter.component.d.ts +8 -1
  151. package/smart-filters/filter-builder/common/model/filter.d.ts +6 -0
  152. package/smart-filters/filter-builder/common/model/legacy.d.ts +23 -0
  153. package/smart-filters/filter-builder/common/model/operator-unit.d.ts +13 -0
  154. package/smart-filters/filter-builder/common/model/operator.d.ts +21 -0
  155. package/smart-filters/filter-builder/common/model/type-map.d.ts +12 -0
  156. package/smart-filters/filter-builder/common/model/type.d.ts +4 -0
  157. package/smart-filters/filter-builder/common/pipes/filter-item-counter.pipe.d.ts +5 -0
  158. package/smart-filters/filter-builder/common/services/output-filter.service.d.ts +52 -0
  159. package/smart-filters/filter-builder/common/services/type-convertor.service.d.ts +10 -0
  160. package/smart-filters/filter-builder/filter-builder-item/filter-builder-item.component.d.ts +32 -0
  161. package/smart-filters/filter-builder/filter-builder-section/filter-builder-section.component.d.ts +22 -0
  162. package/smart-filters/filter-builder/filter-builder-section/filter-builder-section.component.theme.scss +6 -0
  163. package/smart-filters/filter-builder/filter-builder.component.d.ts +22 -0
  164. package/smart-filters/filter-builder/filter-builder.service.d.ts +90 -0
  165. package/smart-filters/index.d.ts +1 -0
  166. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +6 -0
  167. package/smart-filters/number-filter/number-filter.component.d.ts +5 -0
  168. package/smart-filters/pepperi-addons-ngx-lib-smart-filters.d.ts +7 -0
  169. package/smart-filters/pepperi-addons-ngx-lib-smart-filters.metadata.json +1 -1
  170. package/smart-filters/public-api.d.ts +1 -0
  171. package/smart-filters/text-filter/text-filter.component.d.ts +17 -0
  172. package/src/assets/i18n/en.ngx-lib.json +2 -1
  173. package/src/core/style/components/general.scss +4 -2
  174. package/textarea/pepperi-addons-ngx-lib-textarea.metadata.json +1 -1
  175. package/textarea/textarea.component.d.ts +1 -0
  176. package/theming.scss +4 -0
  177. package/top-bar/pepperi-addons-ngx-lib-top-bar.metadata.json +1 -1
@@ -90,6 +90,7 @@ class PepImageComponent {
90
90
  this.form = null;
91
91
  this.uid = '';
92
92
  this.showTitle = true;
93
+ this.renderTitle = true;
93
94
  this._layoutType = 'form';
94
95
  this.isActive = false;
95
96
  this.sizeLimitMB = 5;
@@ -132,6 +133,9 @@ class PepImageComponent {
132
133
  this.setFieldHeight();
133
134
  this.setDefaultForm();
134
135
  this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
136
+ if (!this.renderTitle) {
137
+ this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
138
+ }
135
139
  }
136
140
  }
137
141
  setFieldHeight() {
@@ -237,7 +241,7 @@ PepImageComponent.MENU_CLICKED = '[MenuClicked]';
237
241
  PepImageComponent.decorators = [
238
242
  { type: Component, args: [{
239
243
  selector: 'pep-image',
240
- template: "<ng-container [formGroup]=\"form\">\n <ng-container>\n <ng-template #readonlyTemplate>\n <div class=\"img-wrapper\" [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <img [id]=\"key\" [style.max-height]=\"fieldHeight\" class=\"pep-report-file\" [alt]=\"label\" [src]=\"src\"\n (click)=\"itemImageClick($event)\" (error)=\"errorHandler($event)\" (load)=\"onImageLoad($event)\" />\n </div>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngIf=\"disabled || readonly; then disabledTemplate; else editableTemplate\"></ng-container>\n <ng-template #disabledTemplate>\n <div class=\"pep-file body-sm\" [style.height]=\"fieldHeight\" [ngClass]=\"{'one-row': rowSpan == 1}\">\n <ng-container *ngTemplateOutlet=\"readonlyTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #editableTemplate>\n <div class=\"pep-file-container image-container\" [ngClass]=\"{ 'one-row': rowSpan == 1}\">\n <pep-files-uploader [id]=\"key\" [key]=\"key\" [fieldHeight]=\"fieldHeight\" [layoutType]=\"layoutType\"\n [standAlone]=\"standAlone\" [src]=\"srcLarge || src\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [xAlignment]=\"xAlignment\" [rowSpan]=\"rowSpan\" [controlType]=\"controlType\"\n [form]=\"form\" [acceptedExtensions]=\"acceptImagesType\" (fileChange)=\"onFileChanged($event)\"\n (elementClick)=\"onFileClicked($event)\" [sizeLimitMB]=\"sizeLimitMB\">\n </pep-files-uploader>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngTemplateOutlet=\"readonlyTemplate\"></ng-container>\n <!-- <div class=\"img-wrapper\"\n [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <img [id]=\"key\" [style.max-height]=\"fieldHeight\" class=\"pep-report-file\" [alt]=\"label\" [src]=\"src\"\n (click)=\"itemImageClick($event)\" (error)=\"errorHandler($event)\" />\n </div> -->\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngTemplateOutlet=\"readonlyTemplate\"></ng-container>\n <!-- <div class=\"img-wrapper\" [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <img [id]=\"key\" [style.max-height]=\"fieldHeight\" class=\"pep-report-file pep-report-img\"\n [ngClass]=\"['text-align-' + xAlignment]\" [alt]=\"label\" [src]=\"src\" (click)=\"itemImageClick($event)\"\n (error)=\"errorHandler($event)\" (load)=\"onImageLoad($event)\" />\n </div> -->\n </ng-container>\n </ng-container>\n\n <!-- Menu -->\n <ng-container *ngIf=\"menuField\">\n <button [id]=\"key\" (click)=\"onMenuClick($event)\" class=\"floating-field pep-button icon-button weak invert\"\n [ngClass]=\"{\n bottom: menuField?.Layout?.YAlignment == '2',\n top: menuField?.Layout?.YAlignment == '1',\n left: menuField?.Layout?.XAlignment == '1',\n right: menuField?.Layout?.XAlignment == '2'\n }\">\n <mat-icon>\n <pep-icon name=\"system_menu\"></pep-icon>\n </mat-icon>\n </button>\n </ng-container>\n\n <!-- Campaign -->\n <ng-container *ngIf=\"hasCampaignField && hasCampaignField?.FormattedValue\">\n <span [id]=\"key\" class=\"campaign floating-field\" title=\"{{ hasCampaignField?.FormattedValue }}\" [ngClass]=\"{\n bottom: hasCampaignField?.Layout?.YAlignment == '2',\n top: hasCampaignField?.Layout?.YAlignment == '1',\n left: hasCampaignField?.Layout?.XAlignment == '1',\n right: hasCampaignField?.Layout?.XAlignment == '2'\n }\">\n <mat-icon class=\"has-active-campaign\">\n <pep-icon name=\"system_bolt\"></pep-icon>\n </mat-icon>\n </span>\n </ng-container>\n\n <!-- Indicators -->\n <ng-container *ngIf=\"indicatorsField && indicatorsField?.FormattedValue != ''\">\n <span [id]=\"key\" class=\"indicators-container floating-field\" [ngClass]=\"{\n bottom: indicatorsField?.Layout?.YAlignment == '2',\n top: indicatorsField?.Layout?.YAlignment == '1',\n left: indicatorsField?.Layout?.XAlignment == '1',\n right: indicatorsField?.Layout?.XAlignment == '2'\n }\">\n <mat-icon>\n <ng-container *ngFor=\"let value of indicatorsField?.FormattedValue?.split(';')\">\n <pep-icon class=\"pull-left flip\" name=\"indicator_dot_placeholder\" [fill]=\"value\"></pep-icon>\n </ng-container>\n <ng-container *ngIf=\"indicatorsField?.FormattedValue?.split(';').length < 4\">\n <pep-icon class=\"pull-left flip\" name=\"indicator_dot_placeholder\"></pep-icon>\n </ng-container>\n </mat-icon>\n </span>\n </ng-container>\n</ng-container>",
244
+ template: "<ng-container [formGroup]=\"form\">\n <ng-container>\n <ng-template #readonlyTemplate>\n <div class=\"img-wrapper\" [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <img [id]=\"key\" [style.max-height]=\"fieldHeight\" class=\"pep-report-file\" [alt]=\"label\" [src]=\"src\"\n (click)=\"itemImageClick($event)\" (error)=\"errorHandler($event)\" (load)=\"onImageLoad($event)\" />\n </div>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngIf=\"disabled || readonly; then disabledTemplate; else editableTemplate\"></ng-container>\n <ng-template #disabledTemplate>\n <div class=\"pep-file body-sm\" [style.height]=\"fieldHeight\" [ngClass]=\"{'one-row': rowSpan == 1}\">\n <ng-container *ngTemplateOutlet=\"readonlyTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #editableTemplate>\n <div class=\"pep-file-container image-container\" [ngClass]=\"{ 'one-row': rowSpan == 1}\">\n <pep-files-uploader [id]=\"key\" [key]=\"key\" [fieldHeight]=\"fieldHeight\" [layoutType]=\"layoutType\"\n [standAlone]=\"standAlone\" [src]=\"srcLarge || src\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [xAlignment]=\"xAlignment\" [rowSpan]=\"rowSpan\" [controlType]=\"controlType\"\n [form]=\"form\" [acceptedExtensions]=\"acceptImagesType\" (fileChange)=\"onFileChanged($event)\"\n (elementClick)=\"onFileClicked($event)\" [sizeLimitMB]=\"sizeLimitMB\">\n </pep-files-uploader>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngTemplateOutlet=\"readonlyTemplate\"></ng-container>\n <!-- <div class=\"img-wrapper\"\n [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <img [id]=\"key\" [style.max-height]=\"fieldHeight\" class=\"pep-report-file\" [alt]=\"label\" [src]=\"src\"\n (click)=\"itemImageClick($event)\" (error)=\"errorHandler($event)\" />\n </div> -->\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngTemplateOutlet=\"readonlyTemplate\"></ng-container>\n <!-- <div class=\"img-wrapper\" [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <img [id]=\"key\" [style.max-height]=\"fieldHeight\" class=\"pep-report-file pep-report-img\"\n [ngClass]=\"['text-align-' + xAlignment]\" [alt]=\"label\" [src]=\"src\" (click)=\"itemImageClick($event)\"\n (error)=\"errorHandler($event)\" (load)=\"onImageLoad($event)\" />\n </div> -->\n </ng-container>\n </ng-container>\n\n <!-- Menu -->\n <ng-container *ngIf=\"menuField\">\n <button [id]=\"key\" (click)=\"onMenuClick($event)\" class=\"floating-field pep-button icon-button weak invert\"\n [ngClass]=\"{\n bottom: menuField?.Layout?.YAlignment == '2',\n top: menuField?.Layout?.YAlignment == '1',\n left: menuField?.Layout?.XAlignment == '1',\n right: menuField?.Layout?.XAlignment == '2'\n }\">\n <mat-icon>\n <pep-icon name=\"system_menu\"></pep-icon>\n </mat-icon>\n </button>\n </ng-container>\n\n <!-- Campaign -->\n <ng-container *ngIf=\"hasCampaignField && hasCampaignField?.FormattedValue\">\n <span [id]=\"key\" class=\"campaign floating-field\" title=\"{{ hasCampaignField?.FormattedValue }}\" [ngClass]=\"{\n bottom: hasCampaignField?.Layout?.YAlignment == '2',\n top: hasCampaignField?.Layout?.YAlignment == '1',\n left: hasCampaignField?.Layout?.XAlignment == '1',\n right: hasCampaignField?.Layout?.XAlignment == '2'\n }\">\n <mat-icon class=\"has-active-campaign\">\n <pep-icon name=\"system_bolt\"></pep-icon>\n </mat-icon>\n </span>\n </ng-container>\n\n <!-- Indicators -->\n <ng-container *ngIf=\"indicatorsField && indicatorsField?.FormattedValue != ''\">\n <span [id]=\"key\" class=\"indicators-container floating-field\" [ngClass]=\"{\n bottom: indicatorsField?.Layout?.YAlignment == '2',\n top: indicatorsField?.Layout?.YAlignment == '1',\n left: indicatorsField?.Layout?.XAlignment == '1',\n right: indicatorsField?.Layout?.XAlignment == '2'\n }\">\n <mat-icon>\n <ng-container *ngFor=\"let value of indicatorsField?.FormattedValue?.split(';')\">\n <pep-icon class=\"pull-left flip\" name=\"indicator_dot_placeholder\" [fill]=\"value\"></pep-icon>\n </ng-container>\n <ng-container *ngIf=\"indicatorsField?.FormattedValue?.split(';').length < 4\">\n <pep-icon class=\"pull-left flip\" name=\"indicator_dot_placeholder\"></pep-icon>\n </ng-container>\n </mat-icon>\n </span>\n </ng-container>\n</ng-container>",
241
245
  changeDetection: ChangeDetectionStrategy.OnPush,
242
246
  styles: [":host{width:100%;height:inherit;display:grid}:host>*{align-self:center}.img-wrapper{display:flex;align-items:center;height:100%;max-width:100%}.img-wrapper.left-alignment{justify-content:flex-start}.img-wrapper.center-alignment{justify-content:center}.img-wrapper.right-alignment{justify-content:flex-end}.img-wrapper img{max-width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.pep-file-container,.pepperi-file-container{height:100%}.pep-file-container .img-wrapper,.pepperi-file-container .img-wrapper{height:calc(100% - 1.5rem)}.pep-file-container img,.pepperi-file-container img{cursor:pointer}.indicators-container{padding:0!important}.indicators-container mat-icon{height:100%;width:100%;padding:.4rem}.indicators-container mat-icon pep-icon{height:.75rem!important;width:.75rem!important;margin:.05rem}.floating-field{width:2.5rem;height:2.5rem;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);padding:.5rem;cursor:pointer;position:absolute!important}.top{top:0}.bottom{bottom:0}.left{left:0}.right{right:0}"]
243
247
  },] }
@@ -268,6 +272,7 @@ PepImageComponent.propDecorators = {
268
272
  form: [{ type: Input }],
269
273
  uid: [{ type: Input }],
270
274
  showTitle: [{ type: Input }],
275
+ renderTitle: [{ type: Input }],
271
276
  layoutType: [{ type: Input }],
272
277
  isActive: [{ type: Input }],
273
278
  sizeLimitMB: [{ type: Input }],
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-image.js","sources":["../../../projects/ngx-lib/image/image.service.ts","../../../projects/ngx-lib/image/image.component.ts","../../../projects/ngx-lib/image/image.module.ts","../../../projects/ngx-lib/image/public-api.ts","../../../projects/ngx-lib/image/pepperi-addons-ngx-lib-image.ts"],"sourcesContent":["import { Injectable, TemplateRef } from '@angular/core';\r\nimport {\r\n PepFileService,\r\n PepCustomizationService,\r\n IPepOption,\r\n} from '@pepperi-addons/ngx-lib';\r\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\r\nimport { PepImagesFilmstripComponent } from '@pepperi-addons/ngx-lib/images-filmstrip';\r\nimport { IPepFileChangeEvent } from '@pepperi-addons/ngx-lib/files-uploader';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PepImageService {\r\n constructor(\r\n private dialogService: PepDialogService,\r\n private customizationService: PepCustomizationService,\r\n private fileService: PepFileService,\r\n ) { }\r\n\r\n openImageDialog(imageSrc: string, options: IPepOption[], title: string = ''): void {\r\n const arr = [imageSrc].concat(\r\n (options || []).map((opt) => opt.value)\r\n );\r\n const imagesValue = arr.join(';');\r\n\r\n // Show image in modal.\r\n const config = this.dialogService.getDialogConfig({}, 'inline');\r\n config.maxWidth = '75vw';\r\n config.height = '95vh';\r\n\r\n this.dialogService.openDialog(\r\n PepImagesFilmstripComponent,\r\n {\r\n currIndex: 0,\r\n key: new Date().getDate(),\r\n value: imagesValue,\r\n label: title,\r\n uid: '',\r\n showThumbnails: arr.length > 1,\r\n },\r\n config\r\n );\r\n }\r\n\r\n openFromURI(event: IPepFileChangeEvent) {\r\n if (event) {\r\n const fileStrArr = event.fileStr.split(';');\r\n if (fileStrArr.length === 2) {\r\n const win = window.open('', '_blank');\r\n const contentType = fileStrArr[0].split(':')[1];\r\n const base64 = fileStrArr[1].split(',')[1];\r\n const blob = this.fileService.convertFromb64toBlob(\r\n base64,\r\n contentType\r\n );\r\n const url = URL.createObjectURL(blob);\r\n win.location.href = url;\r\n }\r\n }\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n ElementRef,\n OnDestroy,\n Renderer2,\n Optional,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepFileService,\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n IPepFieldClickEvent,\n IPepOption,\n PepImageField,\n} from '@pepperi-addons/ngx-lib';\n\nimport { pepIconNoImage2 } from '@pepperi-addons/ngx-lib/icon';\nimport { PepImageService } from './image.service';\nimport { IPepFileChangeEvent } from '@pepperi-addons/ngx-lib/files-uploader';\n\n@Component({\n selector: 'pep-image',\n templateUrl: './image.component.html',\n styleUrls: ['./image.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepImageComponent implements OnChanges, OnInit, OnDestroy {\n public static MENU_CLICKED = '[MenuClicked]';\n\n @Input() key = '';\n @Input() srcLarge = '';\n @Input() src = '';\n @Input() options: IPepOption[] = [];\n @Input() label = '';\n // @Input() type = 'image';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n @Input() indicatorsField: any = null;\n @Input() menuField: any = null;\n @Input() hasCampaignField: any = null;\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n controlType = 'image';\n\n @Input() form: FormGroup = null;\n @Input() uid = '';\n @Input() showTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() isActive = false;\n @Input() sizeLimitMB = 5;\n @Input() acceptImagesType = 'bmp,jpg,jpeg,png,gif'; // \"image/bmp, image/jpg, image/jpeg, image/png, image/tif, image/tiff\";\n\n @Output()\n fileChange: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n\n fieldHeight = '';\n standAlone = false;\n dataURI = null;\n\n constructor(\n private imageService: PepImageService,\n private customizationService: PepCustomizationService,\n private fileService: PepFileService,\n private renderer: Renderer2,\n private element: ElementRef,\n private translate: TranslateService\n ) { }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n }\n }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepImageField({\n key: this.key,\n value: this.src,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n if (changes.src?.currentValue?.length > 0) {\n // Empty dataURI if there is change in the src.\n this.dataURI = null;\n }\n }\n\n ngOnDestroy(): void {\n //\n }\n\n errorHandler(event: any): void {\n event.target.src = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n event.target.title = this.translate.instant('IMAGE.NO_IMAGE');\n }\n\n onImageLoad(event: any): void {\n event.target.style.visibility = 'visible';\n event.target.title =\n event.target.title.length === 0\n ? this.translate.instant('IMAGE.CLICK_TO_ENLARGE')\n : event.target.title;\n }\n\n onMenuClick(event: any): void {\n this.elementClick.emit({\n key: this.key,\n value: PepImageComponent.MENU_CLICKED,\n controlType: this.controlType,\n eventWhich: event.which,\n });\n }\n\n onFileChanged(fileData: IPepFileChangeEvent): void {\n this.dataURI = fileData;\n this.src = this.srcLarge =\n this.standAlone && this.dataURI ? this.dataURI.fileStr : '';\n\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.dataURI ? this.dataURI.fileExt : ''\n );\n // this.valueChange.emit({\n // key: this.key,\n // value,\n // });\n\n this.fileChange.emit(fileData);\n // this.fileChange.emit(value.length > 0 ? JSON.parse(value) : value);\n }\n\n objectIdIsNotEmpty(): boolean {\n return this.uid?.length > 0 && this.uid !== '0';\n }\n\n onFileClicked(event: IPepFieldClickEvent): void {\n let hasParentImage = true;\n if (\n // this.objectIdIsNotEmpty() &&\n this.src &&\n this.src.indexOf('no-image') > -1\n ) {\n hasParentImage = false;\n }\n\n this.elementClick.emit(event);\n }\n\n itemImageClick(event: any): void {\n let hasParentImage = true;\n const elemTarget = event.target || event.srcElement;\n const nextElement = elemTarget.nextElementSibling || null;\n const imageSRC = elemTarget.src || null;\n const nextElementSRC =\n nextElement && nextElement.src ? nextElement.src : null;\n\n if (\n (imageSRC && imageSRC.indexOf('no-image') > -1) ||\n (nextElementSRC && nextElementSRC.src.indexOf('no-image') > -1)\n ) {\n hasParentImage = false;\n }\n\n // this.openImageModal(hasParentImage);\n // if (this.dataURI) {\n // this.imageService.openFromURI(this.dataURI);\n // } else {\n // this.imageService.openImageDialog(this.srcLarge || this.src, this.options, this.label);\n // }\n\n this.elementClick.emit({\n key: this.key,\n controlType: this.controlType,\n eventWhich: event.which,\n otherData: {\n imageSrc: this.srcLarge || this.src,\n options: this.options,\n title: this.label\n }\n });\n }\n\n // openImageModal(hasParentImage: boolean): void {\n // if (this.dataURI) {\n // const fileStrArr = this.dataURI.fileStr.split(';');\n // if (fileStrArr.length === 2) {\n // const win = window.open('', '_blank');\n // const contentType = fileStrArr[0].split(':')[1];\n // const base64 = fileStrArr[1].split(',')[1];\n // const blob = this.fileService.convertFromb64toBlob(\n // base64,\n // contentType\n // );\n // const url = URL.createObjectURL(blob);\n // win.location.href = url;\n // }\n // } else {\n // const arr = [this.srcLarge || this.src].concat(\n // (this.options || []).map((opt) => opt.value)\n // );\n // const imagesValue = arr.join(';');\n\n // // Show image in modal.\n // const config = this.dialogService.getDialogConfig({}, 'inline');\n // config.maxWidth = '75vw';\n // config.height = '95vh';\n\n // this.dialogService.openDialog(\n // PepImagesFilmstripComponent,\n // {\n // currIndex: 0,\n // key: this.key,\n // value: imagesValue,\n // label: this.label,\n // uid: this.uid,\n // showThumbnails: arr.length > 1,\n // },\n // config\n // );\n // }\n // }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemMenu,\n pepIconSystemBolt,\n pepIconIndicatorDotPlaceholder,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepFilesUploaderModule } from '@pepperi-addons/ngx-lib/files-uploader';\nimport {\n PepImagesFilmstripModule,\n PepImagesFilmstripComponent,\n} from '@pepperi-addons/ngx-lib/images-filmstrip';\n\nimport { PepImageComponent } from './image.component';\nimport { PepImageService } from './image.service';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatFormFieldModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepImagesFilmstripModule,\n PepFilesUploaderModule,\n ],\n exports: [PepImageComponent],\n declarations: [PepImageComponent],\n entryComponents: [PepImagesFilmstripComponent],\n providers: [PepImageService]\n})\nexport class PepImageModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemMenu,\n pepIconSystemBolt,\n pepIconIndicatorDotPlaceholder,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/image\n */\nexport * from './image.module';\nexport * from './image.component';\nexport * from './image.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-image.js","sources":["../../../projects/ngx-lib/image/image.service.ts","../../../projects/ngx-lib/image/image.component.ts","../../../projects/ngx-lib/image/image.module.ts","../../../projects/ngx-lib/image/public-api.ts","../../../projects/ngx-lib/image/pepperi-addons-ngx-lib-image.ts"],"sourcesContent":["import { Injectable, TemplateRef } from '@angular/core';\r\nimport {\r\n PepFileService,\r\n PepCustomizationService,\r\n IPepOption,\r\n} from '@pepperi-addons/ngx-lib';\r\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\r\nimport { PepImagesFilmstripComponent } from '@pepperi-addons/ngx-lib/images-filmstrip';\r\nimport { IPepFileChangeEvent } from '@pepperi-addons/ngx-lib/files-uploader';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PepImageService {\r\n constructor(\r\n private dialogService: PepDialogService,\r\n private customizationService: PepCustomizationService,\r\n private fileService: PepFileService,\r\n ) { }\r\n\r\n openImageDialog(imageSrc: string, options: IPepOption[], title = ''): void {\r\n const arr = [imageSrc].concat(\r\n (options || []).map((opt) => opt.value)\r\n );\r\n const imagesValue = arr.join(';');\r\n\r\n // Show image in modal.\r\n const config = this.dialogService.getDialogConfig({}, 'inline');\r\n config.maxWidth = '75vw';\r\n config.height = '95vh';\r\n\r\n this.dialogService.openDialog(\r\n PepImagesFilmstripComponent,\r\n {\r\n currIndex: 0,\r\n key: new Date().getDate(),\r\n value: imagesValue,\r\n label: title,\r\n uid: '',\r\n showThumbnails: arr.length > 1,\r\n },\r\n config\r\n );\r\n }\r\n\r\n openFromURI(event: IPepFileChangeEvent) {\r\n if (event) {\r\n const fileStrArr = event.fileStr.split(';');\r\n if (fileStrArr.length === 2) {\r\n const win = window.open('', '_blank');\r\n const contentType = fileStrArr[0].split(':')[1];\r\n const base64 = fileStrArr[1].split(',')[1];\r\n const blob = this.fileService.convertFromb64toBlob(\r\n base64,\r\n contentType\r\n );\r\n const url = URL.createObjectURL(blob);\r\n win.location.href = url;\r\n }\r\n }\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n ElementRef,\n OnDestroy,\n Renderer2,\n Optional,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepFileService,\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n IPepFieldClickEvent,\n IPepOption,\n PepImageField,\n} from '@pepperi-addons/ngx-lib';\n\nimport { pepIconNoImage2 } from '@pepperi-addons/ngx-lib/icon';\nimport { PepImageService } from './image.service';\nimport { IPepFileChangeEvent } from '@pepperi-addons/ngx-lib/files-uploader';\n\n@Component({\n selector: 'pep-image',\n templateUrl: './image.component.html',\n styleUrls: ['./image.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepImageComponent implements OnChanges, OnInit, OnDestroy {\n public static MENU_CLICKED = '[MenuClicked]';\n\n @Input() key = '';\n @Input() srcLarge = '';\n @Input() src = '';\n @Input() options: IPepOption[] = [];\n @Input() label = '';\n // @Input() type = 'image';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n @Input() indicatorsField: any = null;\n @Input() menuField: any = null;\n @Input() hasCampaignField: any = null;\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n controlType = 'image';\n\n @Input() form: FormGroup = null;\n @Input() uid = '';\n @Input() showTitle = true;\n @Input() renderTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() isActive = false;\n @Input() sizeLimitMB = 5;\n @Input() acceptImagesType = 'bmp,jpg,jpeg,png,gif'; // \"image/bmp, image/jpg, image/jpeg, image/png, image/tif, image/tiff\";\n\n @Output()\n fileChange: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n\n fieldHeight = '';\n standAlone = false;\n dataURI = null;\n\n constructor(\n private imageService: PepImageService,\n private customizationService: PepCustomizationService,\n private fileService: PepFileService,\n private renderer: Renderer2,\n private element: ElementRef,\n private translate: TranslateService\n ) { }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepImageField({\n key: this.key,\n value: this.src,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n if (changes.src?.currentValue?.length > 0) {\n // Empty dataURI if there is change in the src.\n this.dataURI = null;\n }\n }\n\n ngOnDestroy(): void {\n //\n }\n\n errorHandler(event: any): void {\n event.target.src = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n event.target.title = this.translate.instant('IMAGE.NO_IMAGE');\n }\n\n onImageLoad(event: any): void {\n event.target.style.visibility = 'visible';\n event.target.title =\n event.target.title.length === 0\n ? this.translate.instant('IMAGE.CLICK_TO_ENLARGE')\n : event.target.title;\n }\n\n onMenuClick(event: any): void {\n this.elementClick.emit({\n key: this.key,\n value: PepImageComponent.MENU_CLICKED,\n controlType: this.controlType,\n eventWhich: event.which,\n });\n }\n\n onFileChanged(fileData: IPepFileChangeEvent): void {\n this.dataURI = fileData;\n this.src = this.srcLarge =\n this.standAlone && this.dataURI ? this.dataURI.fileStr : '';\n\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.dataURI ? this.dataURI.fileExt : ''\n );\n // this.valueChange.emit({\n // key: this.key,\n // value,\n // });\n\n this.fileChange.emit(fileData);\n // this.fileChange.emit(value.length > 0 ? JSON.parse(value) : value);\n }\n\n objectIdIsNotEmpty(): boolean {\n return this.uid?.length > 0 && this.uid !== '0';\n }\n\n onFileClicked(event: IPepFieldClickEvent): void {\n let hasParentImage = true;\n if (\n // this.objectIdIsNotEmpty() &&\n this.src &&\n this.src.indexOf('no-image') > -1\n ) {\n hasParentImage = false;\n }\n\n this.elementClick.emit(event);\n }\n\n itemImageClick(event: any): void {\n let hasParentImage = true;\n const elemTarget = event.target || event.srcElement;\n const nextElement = elemTarget.nextElementSibling || null;\n const imageSRC = elemTarget.src || null;\n const nextElementSRC =\n nextElement && nextElement.src ? nextElement.src : null;\n\n if (\n (imageSRC && imageSRC.indexOf('no-image') > -1) ||\n (nextElementSRC && nextElementSRC.src.indexOf('no-image') > -1)\n ) {\n hasParentImage = false;\n }\n\n // this.openImageModal(hasParentImage);\n // if (this.dataURI) {\n // this.imageService.openFromURI(this.dataURI);\n // } else {\n // this.imageService.openImageDialog(this.srcLarge || this.src, this.options, this.label);\n // }\n\n this.elementClick.emit({\n key: this.key,\n controlType: this.controlType,\n eventWhich: event.which,\n otherData: {\n imageSrc: this.srcLarge || this.src,\n options: this.options,\n title: this.label\n }\n });\n }\n\n // openImageModal(hasParentImage: boolean): void {\n // if (this.dataURI) {\n // const fileStrArr = this.dataURI.fileStr.split(';');\n // if (fileStrArr.length === 2) {\n // const win = window.open('', '_blank');\n // const contentType = fileStrArr[0].split(':')[1];\n // const base64 = fileStrArr[1].split(',')[1];\n // const blob = this.fileService.convertFromb64toBlob(\n // base64,\n // contentType\n // );\n // const url = URL.createObjectURL(blob);\n // win.location.href = url;\n // }\n // } else {\n // const arr = [this.srcLarge || this.src].concat(\n // (this.options || []).map((opt) => opt.value)\n // );\n // const imagesValue = arr.join(';');\n\n // // Show image in modal.\n // const config = this.dialogService.getDialogConfig({}, 'inline');\n // config.maxWidth = '75vw';\n // config.height = '95vh';\n\n // this.dialogService.openDialog(\n // PepImagesFilmstripComponent,\n // {\n // currIndex: 0,\n // key: this.key,\n // value: imagesValue,\n // label: this.label,\n // uid: this.uid,\n // showThumbnails: arr.length > 1,\n // },\n // config\n // );\n // }\n // }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemMenu,\n pepIconSystemBolt,\n pepIconIndicatorDotPlaceholder,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepFilesUploaderModule } from '@pepperi-addons/ngx-lib/files-uploader';\nimport {\n PepImagesFilmstripModule,\n PepImagesFilmstripComponent,\n} from '@pepperi-addons/ngx-lib/images-filmstrip';\n\nimport { PepImageComponent } from './image.component';\nimport { PepImageService } from './image.service';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatFormFieldModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepImagesFilmstripModule,\n PepFilesUploaderModule,\n ],\n exports: [PepImageComponent],\n declarations: [PepImageComponent],\n entryComponents: [PepImagesFilmstripComponent],\n providers: [PepImageService]\n})\nexport class PepImageModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemMenu,\n pepIconSystemBolt,\n pepIconIndicatorDotPlaceholder,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/image\n */\nexport * from './image.module';\nexport * from './image.component';\nexport * from './image.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -72,6 +72,7 @@ class PepImagesFilmstripComponent {
72
72
  this.form = null;
73
73
  this.uid = '0';
74
74
  this.showTitle = false;
75
+ this.renderTitle = true;
75
76
  this._layoutType = 'form';
76
77
  this.currIndex = 0;
77
78
  this.showThumbnails = false;
@@ -151,6 +152,9 @@ class PepImagesFilmstripComponent {
151
152
  this.setFieldHeight();
152
153
  this.setDefaultForm();
153
154
  this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
155
+ if (!this.renderTitle) {
156
+ this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
157
+ }
154
158
  }
155
159
  }
156
160
  if (this.items === null) {
@@ -288,7 +292,7 @@ class PepImagesFilmstripComponent {
288
292
  PepImagesFilmstripComponent.decorators = [
289
293
  { type: Component, args: [{
290
294
  selector: 'pep-images-filmstrip',
291
- template: "<ng-container *ngIf=\"inDialog; then galleryDialogTemplate; else regularTemplate\"></ng-container>\n<ng-template #regularTemplate>\n <ng-container [formGroup]=\"form\">\n <div class=\"images-filmstrip-container\">\n <pep-field-title [label]=\"label\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <div #galleryCont class=\"img-wrapper\" [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\"\n [style.height]=\"fieldHeight\">\n <gallery id=\"{{key}}-{{uid}}-gallery\" (itemClick)=\"enlargeImage($event);\" [imageSize]=\"'contain'\"\n (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #galleryDialogTemplate>\n <div class=\"gallery-dialog\">\n <pep-dialog [title]=\"label\" [showFooter]=\"false\">\n <div pep-dialog-content #galleryDialogCont class=\"gallery-dialog-content\"\n [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\">\n <gallery id=\"{{key}}-{{uid}}-dlgGallery\" [imageSize]=\"'contain'\" (indexChange)=\"indexChange($event)\"\n (error)=\"onError($event)\">\n </gallery>\n </div>\n </pep-dialog>\n </div>\n</ng-template>\n\n<!-- Add custom template to image items -->\n<ng-template #itemTemplate let-index=\"index\" let-type=\"type\" let-data=\"data\" let-currIndex=\"currIndex\">\n <ng-container *ngIf=\"index === currIndex\">\n <ngx-imageviewer [src]=\"data.src\">\n </ngx-imageviewer>\n </ng-container>\n</ng-template>",
295
+ template: "<ng-container *ngIf=\"inDialog; then galleryDialogTemplate; else regularTemplate\"></ng-container>\n<ng-template #regularTemplate>\n <ng-container [formGroup]=\"form\">\n <div class=\"images-filmstrip-container\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <div #galleryCont class=\"img-wrapper\" [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\"\n [style.height]=\"fieldHeight\">\n <gallery id=\"{{key}}-{{uid}}-gallery\" (itemClick)=\"enlargeImage($event);\" [imageSize]=\"'contain'\"\n (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #galleryDialogTemplate>\n <div class=\"gallery-dialog\">\n <pep-dialog [title]=\"label\" [showFooter]=\"false\">\n <div pep-dialog-content #galleryDialogCont class=\"gallery-dialog-content\"\n [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\">\n <gallery id=\"{{key}}-{{uid}}-dlgGallery\" [imageSize]=\"'contain'\" (indexChange)=\"indexChange($event)\"\n (error)=\"onError($event)\">\n </gallery>\n </div>\n </pep-dialog>\n </div>\n</ng-template>\n\n<!-- Add custom template to image items -->\n<ng-template #itemTemplate let-index=\"index\" let-type=\"type\" let-data=\"data\" let-currIndex=\"currIndex\">\n <ng-container *ngIf=\"index === currIndex\">\n <ngx-imageviewer [src]=\"data.src\">\n </ngx-imageviewer>\n </ng-container>\n</ng-template>",
292
296
  // animations: [slideInAnimation],
293
297
  providers: [
294
298
  {
@@ -322,6 +326,7 @@ PepImagesFilmstripComponent.propDecorators = {
322
326
  form: [{ type: Input }],
323
327
  uid: [{ type: Input }],
324
328
  showTitle: [{ type: Input }],
329
+ renderTitle: [{ type: Input }],
325
330
  layoutType: [{ type: Input }],
326
331
  currIndex: [{ type: Input }],
327
332
  showThumbnails: [{ type: Input }],
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-images-filmstrip.js","sources":["../../../projects/ngx-lib/images-filmstrip/images-filmstrip.component.ts","../../../projects/ngx-lib/images-filmstrip/images-filmstrip.module.ts","../../../projects/ngx-lib/images-filmstrip/public-api.ts","../../../projects/ngx-lib/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.ts"],"sourcesContent":["import {\n Component,\n ViewChild,\n OnInit,\n OnDestroy,\n AfterViewInit,\n ElementRef,\n Input,\n TemplateRef,\n Renderer2,\n ChangeDetectorRef,\n Inject,\n Optional,\n ViewContainerRef,\n OnChanges,\n} from '@angular/core';\nimport {\n trigger,\n state,\n style,\n transition,\n animate,\n} from '@angular/animations';\nimport { FormGroup } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n Gallery,\n GalleryConfig,\n LoadingStrategy,\n SlidingDirection,\n ThumbnailsPosition,\n GalleryItem,\n ImageItem,\n GalleryRef,\n} from 'ng-gallery';\nimport {\n PepCustomizationService,\n PepLayoutType,\n PepLayoutService,\n PepFileService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepImagesField,\n} from '@pepperi-addons/ngx-lib';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\nimport { pepIconArrowRightAlt } from '@pepperi-addons/ngx-lib/icon';\nimport { pepIconNoImage2 } from '@pepperi-addons/ngx-lib/icon';\n\nimport 'hammerjs';\n\ninterface IPepImagesFilmstripDialogData {\n currIndex: number;\n key: string;\n value: string;\n label: string;\n uid: string;\n showThumbnails: boolean;\n}\n\n// export const slideInAnimation = trigger('slideAnimation', [\n// state('in', style({ transform: 'translateY(0)', opacity: 1 })),\n// transition(':enter', [\n// style({ transform: 'translateY(-100%)', opacity: 0 }),\n// animate(400)\n// ]),\n// transition(':leave', [\n// animate(400, style({ transform: 'translateY(-100%)', opacity: 0 }))\n// ])\n// ]);\n\nimport {\n IMAGEVIEWER_CONFIG,\n ImageViewerConfig,\n createButtonConfig,\n} from '@hallysonh/ngx-imageviewer';\n\nexport function createViewerConfig(\n translate: TranslateService\n): ImageViewerConfig {\n return {\n // width: 850,\n // height: 150,\n bgStyle: '#FFF', // component background style\n // scaleStep: 0.1, // zoom scale step (using the zoom in/out buttons)\n // rotateStepper: false, // touch rotate should rotate only 90 to 90 degrees\n loadingMessage: translate.instant('MESSAGES.INFO_LOADING_FILE'), // 'Loading...',\n // buttonStyle: {\n // iconFontFamily: 'Material Icons', // font used to render the button icons\n // alpha: 0.5, // buttons' transparence value\n // hoverAlpha: 0.7, // buttons' transparence value when mouse is over\n // bgStyle: '#000000', // buttons' background style\n // iconStyle: '#ffffff', // buttons' icon colors\n // borderStyle: '#000000', // buttons' border style\n // borderWidth: 0, // buttons' border width (0 == disabled)\n // },\n // tooltips: {\n // enabled: true, // enable or disable tooltips for buttons\n // bgStyle: '#000000', // tooltip background style\n // bgAlpha: 0.5, // tooltip background transparence\n // textStyle: '#ffffff', // tooltip's text style\n // textAlpha: 0.9, // tooltip's text transparence\n // padding: 15, // tooltip padding\n // radius: 20, // tooltip border radius\n // },\n // shorter button configuration style\n nextPageButton: createButtonConfig(\n 'navigate_next',\n 'Next page',\n 0,\n false\n ),\n beforePageButton: createButtonConfig(\n 'navigate_before',\n 'Previous page',\n 1,\n false\n ),\n zoomOutButton: createButtonConfig('zoom_out', 'Zoom out', 0, false),\n zoomInButton: createButtonConfig('zoom_in', 'Zoom in', 1, false),\n rotateLeftButton: createButtonConfig(\n 'rotate_left',\n 'Rotate left',\n 2,\n false\n ),\n rotateRightButton: createButtonConfig(\n 'rotate_right',\n 'Rotate right',\n 3,\n false\n ),\n resetButton: createButtonConfig('autorenew', 'Reset', 4, false),\n };\n}\n\n@Component({\n selector: 'pep-images-filmstrip',\n templateUrl: './images-filmstrip.component.html',\n styleUrls: ['./images-filmstrip.component.scss'],\n // animations: [slideInAnimation],\n providers: [\n {\n provide: IMAGEVIEWER_CONFIG,\n // useValue: IMAGEVIEWER_CONFIG_DEFAULT,\n useFactory: createViewerConfig,\n deps: [TranslateService],\n },\n ],\n})\nexport class PepImagesFilmstripComponent\n implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n // @ViewChild('ngxViewerImage') ngxViewerImage: any; // TODO: Check if we need to use this??\n @Input() key = '';\n @Input() value = '';\n @Input() label = '';\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n controlType = 'images';\n\n @Input() form: FormGroup = null;\n @Input() uid = '0';\n @Input() showTitle = false;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() currIndex = 0;\n @Input() showThumbnails = false;\n\n @ViewChild('galleryCont') galleryCont: ElementRef;\n @ViewChild('galleryDialogTemplate', { read: TemplateRef })\n galleryDialogTemplate: TemplateRef<any>;\n @ViewChild('galleryDialogCont') galleryDialogCont: ElementRef;\n\n config: GalleryConfig;\n items: GalleryItem[] = null;\n inDialog = false;\n\n mandatory = false;\n readonly = false;\n disabled = false;\n fieldHeight = '';\n standAlone = false;\n\n galleryWidth = 0;\n galleryHeight;\n isVertical = false;\n galleryRef: GalleryRef;\n dialogGalleryRef: GalleryRef;\n\n constructor(\n private customizationService: PepCustomizationService,\n private dialogService: PepDialogService,\n private layoutService: PepLayoutService,\n private fileService: PepFileService,\n private gallery: Gallery,\n private renderer: Renderer2,\n private element: ElementRef,\n private cd: ChangeDetectorRef,\n @Optional()\n private dialogRef: MatDialogRef<PepImagesFilmstripComponent>,\n @Optional()\n @Inject(MAT_DIALOG_DATA)\n private data: IPepImagesFilmstripDialogData\n ) {\n // If data exist copy all data properties into this.\n if (dialogRef && data) {\n this.inDialog = true;\n\n Object.keys(data).forEach((key) => {\n if (key in this) {\n this[key] = data[key];\n }\n });\n }\n\n this.config = {\n // nav: false, // Show navigation buttons\n navIcon: pepIconArrowRightAlt.data,\n // loop: true,\n // zoomOut: 0,\n // dots: false,\n // dotsPosition: 'bottom',\n // counterPosition: 'top',\n // thumb: true,\n counter: false, // Show counter\n gestures: true, // Use touch events (requires hammer.js)\n // autoPlay: false,\n // thumbWidth: 120,\n // thumbHeight: 90,\n imageSize: 'contain',\n // panSensitivity: 25,\n // disableThumb: false,\n // playerInterval: 3000,\n // thumbMode: ThumbnailsMode.Free,\n // thumbPosition: ThumbnailsPosition.Bottom,\n loadingStrategy: LoadingStrategy.Default,\n // slidingDirection: SlidingDirection.Horizontal,\n };\n }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepImagesField({\n key: this.key,\n value: this.value,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnInit(): void {\n if (!this.inDialog) {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n }\n }\n\n if (this.items === null) {\n const imgArr = this.value ? this.value.split(';') : [];\n // add No image image when there is no images\n if (imgArr.length === 0) {\n const noImageSrc = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n imgArr.push(noImageSrc);\n }\n\n this.items = imgArr.map(\n (img) => new ImageItem({ src: img, thumb: img })\n );\n }\n\n this.config.dots = this.config.nav = this.items.length > 1;\n this.config.thumb =\n (this.key === 'ItemFilmstripImages' || this.showThumbnails) &&\n this.items.length > 1\n ? true\n : false;\n this.currIndex =\n this.key === 'ItemFilmstripImages' &&\n this.currIndex === 0 &&\n this.items.length > 1\n ? Math.floor(this.items.length / 2) - 1\n : this.currIndex;\n }\n\n ngAfterViewInit(): void {\n if (this.inDialog) {\n this.afterDialogOpened();\n } else {\n this.galleryRef = this.gallery.ref(\n `${this.key}-${this.uid}-gallery`\n );\n this.initGalleryStyle(this.galleryCont, this.galleryRef);\n }\n }\n\n ngOnChanges(): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n }\n\n ngOnDestroy(): void {\n if (this.galleryRef) {\n this.galleryRef.destroy();\n }\n if (this.dialogGalleryRef) {\n this.dialogGalleryRef.destroy();\n }\n // if (this.myPinch) { this.myPinch.destroy(); }\n }\n\n initGalleryStyle(galleryContainer, galleryRef): void {\n setTimeout(() => {\n // Set thumbnails position and sliding direction\n this.setThumbnailDimension(galleryContainer);\n galleryRef.setConfig(this.config);\n }, 0);\n\n const currentIndex = this.currIndex;\n if (currentIndex > 0) {\n setTimeout(() => {\n galleryRef.load(this.items);\n galleryRef.set(currentIndex);\n }, 0);\n // galleryRef.set(currentIndex);\n } else {\n galleryRef.load(this.items);\n }\n }\n\n onError(e): void {\n const noImageSrc = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n const noimg = new ImageItem({ src: noImageSrc, thumb: noImageSrc });\n this.items.splice(e.itemIndex, 1, noimg);\n }\n\n enlargeImage(event: any): void {\n const config = this.dialogService.getDialogConfig({}, 'inline');\n config.maxWidth = '75vw';\n config.height = '95vh';\n\n const dialogRef = this.dialogService.openDialog(\n this.galleryDialogTemplate,\n {\n currIndex: this.currIndex,\n },\n config\n );\n\n dialogRef.afterOpened().subscribe(() => {\n this.afterDialogOpened();\n });\n\n // Update currentIndex in galleryRef\n // dialogRef.afterClosed().subscribe(value => {\n // this.galleryRef.set(this.currIndex);\n // });\n }\n\n afterDialogOpened(): void {\n this.dialogGalleryRef = this.gallery.ref(\n `${this.key}-${this.uid}-dlgGallery`\n );\n this.initGalleryStyle(this.galleryDialogCont, this.dialogGalleryRef);\n }\n\n setThumbnailDimension(galleryContainer): void {\n this.galleryWidth = galleryContainer.nativeElement.clientWidth;\n // this.galleryHeight = galleryContainer.nativeElement.clientHeight - 32; // TODO - TALK WITH TOMER\n this.galleryHeight = this.inDialog\n ? galleryContainer.nativeElement.clientHeight - 32\n : galleryContainer.nativeElement.clientHeight;\n // this.galleryHeight = galleryContainer.nativeElement.clientHeight - 32;\n this.cd.detectChanges();\n\n this.isVertical = this.galleryWidth < this.galleryHeight;\n this.cd.detectChanges();\n if (this.isVertical) {\n let width =\n (this.galleryWidth - (this.items.length - 1) * 16) /\n this.items.length;\n width = Math.min(Math.max(width, 24), 96);\n\n this.config.thumbHeight = width;\n this.config.thumbWidth = width + 16;\n } else {\n let height =\n (this.galleryHeight - (this.items.length - 1) * 16) /\n this.items.length;\n height = Math.min(Math.max(height, 24), 96);\n\n this.config.thumbHeight = height + 16;\n this.config.thumbWidth = height;\n }\n\n this.config.thumbPosition = this.isVertical\n ? ThumbnailsPosition.Bottom\n : this.layoutService.isRtl()\n ? ThumbnailsPosition.Right\n : ThumbnailsPosition.Left;\n this.config.slidingDirection =\n this.key !== 'ItemFilmstripImages'\n ? SlidingDirection.Horizontal\n : this.isVertical\n ? SlidingDirection.Horizontal\n : SlidingDirection.Vertical;\n\n this.config.imageSize = 'contain';\n }\n\n indexChange(item: any): void {\n this.currIndex = item.currIndex;\n // if (this.ngxViewerImage && this.ngxViewerImage.scale) {\n // this.ngxViewerImage.scale = 1;\n // this.updateStyle();\n // }\n }\n\n // scrollFunction(e: any): boolean {\n // e.deltaY > 0 ? this.zoomOut() : this.zoomIn();\n // return false;\n // }\n\n // zoomIn(): void {\n // if (this.ngxViewerImage.scale < 2) {\n // this.ngxViewerImage.scale *= (1 + this.ngxViewerImage.config.zoomFactor);\n // } else {\n // this.ngxViewerImage.scale = 2;\n // }\n // this.updateStyle();\n // }\n\n // zoomOut(): void {\n // if (this.ngxViewerImage.scale > this.ngxViewerImage.config.zoomFactor) {\n // this.ngxViewerImage.scale /= (1 + this.ngxViewerImage.config.zoomFactor);\n // }\n // this.updateStyle();\n // }\n\n // private updateStyle(): void {\n // this.ngxViewerImage.style.transform = `translate(${this.ngxViewerImage.translateX}px,\n // ${this.ngxViewerImage.translateY}px) rotate(${this.ngxViewerImage.rotation}deg) scale(${this.ngxViewerImage.scale})`;\n\n // this.cd.detectChanges();\n // }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n pepIconSystemClose,\n pepIconArrowRightAlt,\n pepIconArrowLeftAlt,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { GalleryModule } from 'ng-gallery';\nimport { ImageViewerModule } from '@hallysonh/ngx-imageviewer';\n\nimport { PepImagesFilmstripComponent } from './images-filmstrip.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatFormFieldModule,\n MatDialogModule,\n MatIconModule,\n // External modules\n GalleryModule,\n ImageViewerModule,\n // ImageViewerModule.forRoot({\n // btnClass: 'default', // The CSS class(es) that will apply to the buttons\n // zoomFactor: 0.1, // The amount that the scale will be increased by\n // containerBackgroundColor: 'transparent', // The color to use for the background. This can provided in hex, or rgb(a).\n // wheelZoom: true, // If true, the mouse wheel can be used to zoom in\n // allowFullscreen: false, // If true, the fullscreen button will be shown, allowing the user to entr fullscreen mode\n // btnIcons: {\n // // The icon classes that will apply to the buttons. By default, font-awesome is used.\n // zoomIn: 'fa fa-plus',\n // zoomOut: 'fa fa-minus',\n // rotateClockwise: 'fa fa-repeat',\n // rotateCounterClockwise: 'fa fa-undo',\n // next: 'fa fa-arrow-right',\n // prev: 'fa fa-arrow-left',\n // fullscreen: 'fa fa-arrows-alt'\n // }\n // }),\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepDialogModule,\n ],\n exports: [PepImagesFilmstripComponent],\n declarations: [PepImagesFilmstripComponent],\n})\nexport class PepImagesFilmstripModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemEdit,\n pepIconSystemClose,\n pepIconArrowRightAlt,\n pepIconArrowLeftAlt,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/images-filmstrip\n */\nexport * from './images-filmstrip.module';\nexport * from './images-filmstrip.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-images-filmstrip.js","sources":["../../../projects/ngx-lib/images-filmstrip/images-filmstrip.component.ts","../../../projects/ngx-lib/images-filmstrip/images-filmstrip.module.ts","../../../projects/ngx-lib/images-filmstrip/public-api.ts","../../../projects/ngx-lib/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.ts"],"sourcesContent":["import {\n Component,\n ViewChild,\n OnInit,\n OnDestroy,\n AfterViewInit,\n ElementRef,\n Input,\n TemplateRef,\n Renderer2,\n ChangeDetectorRef,\n Inject,\n Optional,\n ViewContainerRef,\n OnChanges,\n} from '@angular/core';\nimport {\n trigger,\n state,\n style,\n transition,\n animate,\n} from '@angular/animations';\nimport { FormGroup } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n Gallery,\n GalleryConfig,\n LoadingStrategy,\n SlidingDirection,\n ThumbnailsPosition,\n GalleryItem,\n ImageItem,\n GalleryRef,\n} from 'ng-gallery';\nimport {\n PepCustomizationService,\n PepLayoutType,\n PepLayoutService,\n PepFileService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepImagesField,\n} from '@pepperi-addons/ngx-lib';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\nimport { pepIconArrowRightAlt } from '@pepperi-addons/ngx-lib/icon';\nimport { pepIconNoImage2 } from '@pepperi-addons/ngx-lib/icon';\n\nimport 'hammerjs';\n\ninterface IPepImagesFilmstripDialogData {\n currIndex: number;\n key: string;\n value: string;\n label: string;\n uid: string;\n showThumbnails: boolean;\n}\n\n// export const slideInAnimation = trigger('slideAnimation', [\n// state('in', style({ transform: 'translateY(0)', opacity: 1 })),\n// transition(':enter', [\n// style({ transform: 'translateY(-100%)', opacity: 0 }),\n// animate(400)\n// ]),\n// transition(':leave', [\n// animate(400, style({ transform: 'translateY(-100%)', opacity: 0 }))\n// ])\n// ]);\n\nimport {\n IMAGEVIEWER_CONFIG,\n ImageViewerConfig,\n createButtonConfig,\n} from '@hallysonh/ngx-imageviewer';\n\nexport function createViewerConfig(\n translate: TranslateService\n): ImageViewerConfig {\n return {\n // width: 850,\n // height: 150,\n bgStyle: '#FFF', // component background style\n // scaleStep: 0.1, // zoom scale step (using the zoom in/out buttons)\n // rotateStepper: false, // touch rotate should rotate only 90 to 90 degrees\n loadingMessage: translate.instant('MESSAGES.INFO_LOADING_FILE'), // 'Loading...',\n // buttonStyle: {\n // iconFontFamily: 'Material Icons', // font used to render the button icons\n // alpha: 0.5, // buttons' transparence value\n // hoverAlpha: 0.7, // buttons' transparence value when mouse is over\n // bgStyle: '#000000', // buttons' background style\n // iconStyle: '#ffffff', // buttons' icon colors\n // borderStyle: '#000000', // buttons' border style\n // borderWidth: 0, // buttons' border width (0 == disabled)\n // },\n // tooltips: {\n // enabled: true, // enable or disable tooltips for buttons\n // bgStyle: '#000000', // tooltip background style\n // bgAlpha: 0.5, // tooltip background transparence\n // textStyle: '#ffffff', // tooltip's text style\n // textAlpha: 0.9, // tooltip's text transparence\n // padding: 15, // tooltip padding\n // radius: 20, // tooltip border radius\n // },\n // shorter button configuration style\n nextPageButton: createButtonConfig(\n 'navigate_next',\n 'Next page',\n 0,\n false\n ),\n beforePageButton: createButtonConfig(\n 'navigate_before',\n 'Previous page',\n 1,\n false\n ),\n zoomOutButton: createButtonConfig('zoom_out', 'Zoom out', 0, false),\n zoomInButton: createButtonConfig('zoom_in', 'Zoom in', 1, false),\n rotateLeftButton: createButtonConfig(\n 'rotate_left',\n 'Rotate left',\n 2,\n false\n ),\n rotateRightButton: createButtonConfig(\n 'rotate_right',\n 'Rotate right',\n 3,\n false\n ),\n resetButton: createButtonConfig('autorenew', 'Reset', 4, false),\n };\n}\n\n@Component({\n selector: 'pep-images-filmstrip',\n templateUrl: './images-filmstrip.component.html',\n styleUrls: ['./images-filmstrip.component.scss'],\n // animations: [slideInAnimation],\n providers: [\n {\n provide: IMAGEVIEWER_CONFIG,\n // useValue: IMAGEVIEWER_CONFIG_DEFAULT,\n useFactory: createViewerConfig,\n deps: [TranslateService],\n },\n ],\n})\nexport class PepImagesFilmstripComponent\n implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n // @ViewChild('ngxViewerImage') ngxViewerImage: any; // TODO: Check if we need to use this??\n @Input() key = '';\n @Input() value = '';\n @Input() label = '';\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n controlType = 'images';\n\n @Input() form: FormGroup = null;\n @Input() uid = '0';\n @Input() showTitle = false;\n @Input() renderTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() currIndex = 0;\n @Input() showThumbnails = false;\n\n @ViewChild('galleryCont') galleryCont: ElementRef;\n @ViewChild('galleryDialogTemplate', { read: TemplateRef })\n galleryDialogTemplate: TemplateRef<any>;\n @ViewChild('galleryDialogCont') galleryDialogCont: ElementRef;\n\n config: GalleryConfig;\n items: GalleryItem[] = null;\n inDialog = false;\n\n mandatory = false;\n readonly = false;\n disabled = false;\n fieldHeight = '';\n standAlone = false;\n\n galleryWidth = 0;\n galleryHeight;\n isVertical = false;\n galleryRef: GalleryRef;\n dialogGalleryRef: GalleryRef;\n\n constructor(\n private customizationService: PepCustomizationService,\n private dialogService: PepDialogService,\n private layoutService: PepLayoutService,\n private fileService: PepFileService,\n private gallery: Gallery,\n private renderer: Renderer2,\n private element: ElementRef,\n private cd: ChangeDetectorRef,\n @Optional()\n private dialogRef: MatDialogRef<PepImagesFilmstripComponent>,\n @Optional()\n @Inject(MAT_DIALOG_DATA)\n private data: IPepImagesFilmstripDialogData\n ) {\n // If data exist copy all data properties into this.\n if (dialogRef && data) {\n this.inDialog = true;\n\n Object.keys(data).forEach((key) => {\n if (key in this) {\n this[key] = data[key];\n }\n });\n }\n\n this.config = {\n // nav: false, // Show navigation buttons\n navIcon: pepIconArrowRightAlt.data,\n // loop: true,\n // zoomOut: 0,\n // dots: false,\n // dotsPosition: 'bottom',\n // counterPosition: 'top',\n // thumb: true,\n counter: false, // Show counter\n gestures: true, // Use touch events (requires hammer.js)\n // autoPlay: false,\n // thumbWidth: 120,\n // thumbHeight: 90,\n imageSize: 'contain',\n // panSensitivity: 25,\n // disableThumb: false,\n // playerInterval: 3000,\n // thumbMode: ThumbnailsMode.Free,\n // thumbPosition: ThumbnailsPosition.Bottom,\n loadingStrategy: LoadingStrategy.Default,\n // slidingDirection: SlidingDirection.Horizontal,\n };\n }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepImagesField({\n key: this.key,\n value: this.value,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnInit(): void {\n if (!this.inDialog) {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n }\n\n if (this.items === null) {\n const imgArr = this.value ? this.value.split(';') : [];\n // add No image image when there is no images\n if (imgArr.length === 0) {\n const noImageSrc = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n imgArr.push(noImageSrc);\n }\n\n this.items = imgArr.map(\n (img) => new ImageItem({ src: img, thumb: img })\n );\n }\n\n this.config.dots = this.config.nav = this.items.length > 1;\n this.config.thumb =\n (this.key === 'ItemFilmstripImages' || this.showThumbnails) &&\n this.items.length > 1\n ? true\n : false;\n this.currIndex =\n this.key === 'ItemFilmstripImages' &&\n this.currIndex === 0 &&\n this.items.length > 1\n ? Math.floor(this.items.length / 2) - 1\n : this.currIndex;\n }\n\n ngAfterViewInit(): void {\n if (this.inDialog) {\n this.afterDialogOpened();\n } else {\n this.galleryRef = this.gallery.ref(\n `${this.key}-${this.uid}-gallery`\n );\n this.initGalleryStyle(this.galleryCont, this.galleryRef);\n }\n }\n\n ngOnChanges(): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n }\n\n ngOnDestroy(): void {\n if (this.galleryRef) {\n this.galleryRef.destroy();\n }\n if (this.dialogGalleryRef) {\n this.dialogGalleryRef.destroy();\n }\n // if (this.myPinch) { this.myPinch.destroy(); }\n }\n\n initGalleryStyle(galleryContainer, galleryRef): void {\n setTimeout(() => {\n // Set thumbnails position and sliding direction\n this.setThumbnailDimension(galleryContainer);\n galleryRef.setConfig(this.config);\n }, 0);\n\n const currentIndex = this.currIndex;\n if (currentIndex > 0) {\n setTimeout(() => {\n galleryRef.load(this.items);\n galleryRef.set(currentIndex);\n }, 0);\n // galleryRef.set(currentIndex);\n } else {\n galleryRef.load(this.items);\n }\n }\n\n onError(e): void {\n const noImageSrc = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n const noimg = new ImageItem({ src: noImageSrc, thumb: noImageSrc });\n this.items.splice(e.itemIndex, 1, noimg);\n }\n\n enlargeImage(event: any): void {\n const config = this.dialogService.getDialogConfig({}, 'inline');\n config.maxWidth = '75vw';\n config.height = '95vh';\n\n const dialogRef = this.dialogService.openDialog(\n this.galleryDialogTemplate,\n {\n currIndex: this.currIndex,\n },\n config\n );\n\n dialogRef.afterOpened().subscribe(() => {\n this.afterDialogOpened();\n });\n\n // Update currentIndex in galleryRef\n // dialogRef.afterClosed().subscribe(value => {\n // this.galleryRef.set(this.currIndex);\n // });\n }\n\n afterDialogOpened(): void {\n this.dialogGalleryRef = this.gallery.ref(\n `${this.key}-${this.uid}-dlgGallery`\n );\n this.initGalleryStyle(this.galleryDialogCont, this.dialogGalleryRef);\n }\n\n setThumbnailDimension(galleryContainer): void {\n this.galleryWidth = galleryContainer.nativeElement.clientWidth;\n // this.galleryHeight = galleryContainer.nativeElement.clientHeight - 32; // TODO - TALK WITH TOMER\n this.galleryHeight = this.inDialog\n ? galleryContainer.nativeElement.clientHeight - 32\n : galleryContainer.nativeElement.clientHeight;\n // this.galleryHeight = galleryContainer.nativeElement.clientHeight - 32;\n this.cd.detectChanges();\n\n this.isVertical = this.galleryWidth < this.galleryHeight;\n this.cd.detectChanges();\n if (this.isVertical) {\n let width =\n (this.galleryWidth - (this.items.length - 1) * 16) /\n this.items.length;\n width = Math.min(Math.max(width, 24), 96);\n\n this.config.thumbHeight = width;\n this.config.thumbWidth = width + 16;\n } else {\n let height =\n (this.galleryHeight - (this.items.length - 1) * 16) /\n this.items.length;\n height = Math.min(Math.max(height, 24), 96);\n\n this.config.thumbHeight = height + 16;\n this.config.thumbWidth = height;\n }\n\n this.config.thumbPosition = this.isVertical\n ? ThumbnailsPosition.Bottom\n : this.layoutService.isRtl()\n ? ThumbnailsPosition.Right\n : ThumbnailsPosition.Left;\n this.config.slidingDirection =\n this.key !== 'ItemFilmstripImages'\n ? SlidingDirection.Horizontal\n : this.isVertical\n ? SlidingDirection.Horizontal\n : SlidingDirection.Vertical;\n\n this.config.imageSize = 'contain';\n }\n\n indexChange(item: any): void {\n this.currIndex = item.currIndex;\n // if (this.ngxViewerImage && this.ngxViewerImage.scale) {\n // this.ngxViewerImage.scale = 1;\n // this.updateStyle();\n // }\n }\n\n // scrollFunction(e: any): boolean {\n // e.deltaY > 0 ? this.zoomOut() : this.zoomIn();\n // return false;\n // }\n\n // zoomIn(): void {\n // if (this.ngxViewerImage.scale < 2) {\n // this.ngxViewerImage.scale *= (1 + this.ngxViewerImage.config.zoomFactor);\n // } else {\n // this.ngxViewerImage.scale = 2;\n // }\n // this.updateStyle();\n // }\n\n // zoomOut(): void {\n // if (this.ngxViewerImage.scale > this.ngxViewerImage.config.zoomFactor) {\n // this.ngxViewerImage.scale /= (1 + this.ngxViewerImage.config.zoomFactor);\n // }\n // this.updateStyle();\n // }\n\n // private updateStyle(): void {\n // this.ngxViewerImage.style.transform = `translate(${this.ngxViewerImage.translateX}px,\n // ${this.ngxViewerImage.translateY}px) rotate(${this.ngxViewerImage.rotation}deg) scale(${this.ngxViewerImage.scale})`;\n\n // this.cd.detectChanges();\n // }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n pepIconSystemClose,\n pepIconArrowRightAlt,\n pepIconArrowLeftAlt,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { GalleryModule } from 'ng-gallery';\nimport { ImageViewerModule } from '@hallysonh/ngx-imageviewer';\n\nimport { PepImagesFilmstripComponent } from './images-filmstrip.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatFormFieldModule,\n MatDialogModule,\n MatIconModule,\n // External modules\n GalleryModule,\n ImageViewerModule,\n // ImageViewerModule.forRoot({\n // btnClass: 'default', // The CSS class(es) that will apply to the buttons\n // zoomFactor: 0.1, // The amount that the scale will be increased by\n // containerBackgroundColor: 'transparent', // The color to use for the background. This can provided in hex, or rgb(a).\n // wheelZoom: true, // If true, the mouse wheel can be used to zoom in\n // allowFullscreen: false, // If true, the fullscreen button will be shown, allowing the user to entr fullscreen mode\n // btnIcons: {\n // // The icon classes that will apply to the buttons. By default, font-awesome is used.\n // zoomIn: 'fa fa-plus',\n // zoomOut: 'fa fa-minus',\n // rotateClockwise: 'fa fa-repeat',\n // rotateCounterClockwise: 'fa fa-undo',\n // next: 'fa fa-arrow-right',\n // prev: 'fa fa-arrow-left',\n // fullscreen: 'fa fa-arrows-alt'\n // }\n // }),\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepDialogModule,\n ],\n exports: [PepImagesFilmstripComponent],\n declarations: [PepImagesFilmstripComponent],\n})\nexport class PepImagesFilmstripModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemEdit,\n pepIconSystemClose,\n pepIconArrowRightAlt,\n pepIconArrowLeftAlt,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/images-filmstrip\n */\nexport * from './images-filmstrip.module';\nexport * from './images-filmstrip.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -2564,12 +2564,13 @@ class PepListTotalComponent {
2564
2564
  this.totalRows = -1;
2565
2565
  this.totalAmount = -1;
2566
2566
  this.isMapView = false;
2567
+ this.sizeType = 'md';
2567
2568
  }
2568
2569
  }
2569
2570
  PepListTotalComponent.decorators = [
2570
2571
  { type: Component, args: [{
2571
2572
  selector: 'pep-list-total',
2572
- template: "<div class=\"total-items-container\">\n <ng-container *ngIf=\"isMapView; then mapTemplate; else notMapTemplate\"></ng-container>\n\n <ng-template #notMapTemplate>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-md total-items\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT' : 'LIST.TOTAL_RESULTS') | translate: { totalRows: totalRows }\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"totalAmount > 0\"> {{ 'LIST.TOTAL_OF' | translate }} {{ totalAmount }} </ng-container>\n </ng-template>\n\n <ng-template #mapTemplate>\n <ng-container *ngIf=\"totalAmount >= 0\">\n </ng-container>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-md total-items\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT_OUT_OF_RESULT' : 'LIST.TOTAL_RESULTS_OUT_OF') | translate: { xRows: totalAmount, totalRows: totalRows }\">\n </div>\n </ng-container>\n </ng-template>\n</div>",
2573
+ template: "<div class=\"total-items-container\">\n <ng-container *ngIf=\"isMapView; then mapTemplate; else notMapTemplate\"></ng-container>\n\n <ng-template #notMapTemplate>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT' : 'LIST.TOTAL_RESULTS') | translate: { totalRows: totalRows }\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"totalAmount > 0\"> {{ 'LIST.TOTAL_OF' | translate }} {{ totalAmount }} </ng-container>\n </ng-template>\n\n <ng-template #mapTemplate>\n <ng-container *ngIf=\"totalAmount >= 0\">\n </ng-container>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT_OUT_OF_RESULT' : 'LIST.TOTAL_RESULTS_OUT_OF') | translate: { xRows: totalAmount, totalRows: totalRows }\">\n </div>\n </ng-container>\n </ng-template>\n</div>",
2573
2574
  styles: [".total-items-container{height:calc(.5rem + 2.5rem);height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));display:flex;align-items:center}"]
2574
2575
  },] },
2575
2576
  { type: Injectable }
@@ -2577,7 +2578,8 @@ PepListTotalComponent.decorators = [
2577
2578
  PepListTotalComponent.propDecorators = {
2578
2579
  totalRows: [{ type: Input }],
2579
2580
  totalAmount: [{ type: Input }],
2580
- isMapView: [{ type: Input }]
2581
+ isMapView: [{ type: Input }],
2582
+ sizeType: [{ type: Input }]
2581
2583
  };
2582
2584
 
2583
2585
  class IPepListView {